
我擁有的:
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
你就完成了
華泰