我拥有的:
alias killport='sudo kill -9 `sudo fuser -n tcp $1 2> /dev/null`'
问题:
不过,运行egkillport 8000
似乎不起作用。然而,简单地运行...
sudo kill -9 `sudo fuser -n tcp 8000 2> /dev/null`
...确实有效。我不明白我哪里搞砸了。
据我所知,工作版本和非工作版本之间的主要区别是别名版本涉及一个变量,并由 shell 为我执行......但也许有人以前见过这种问题并且知道就在哪里看。
答案1
您应该使用函数而不是别名,因为别名不支持参数,请进行类似的操作:
killport(){
sudo kill -9 $(sudo fuser -n tcp $1 2> /dev/null);
}
现在将此函数放入 bash 配置文件中,例如 ~/.bashrc,然后运行:
source ~/.bashrc
你就完成了
华泰