
私が持っているもの:
alias killport='sudo kill -9 `sudo fuser -n tcp $1 2> /dev/null`'
問題:
ただし、 eg を実行してkillport 8000
も機能しないようです。ただし、単に実行すると...
sudo kill -9 `sudo fuser -n tcp 8000 2> /dev/null`
... 動作します。どこで失敗しているのかわかりません。
私が見る限り、動作するバージョンと動作しないバージョンの主な違いは、エイリアス化されたバージョンには変数が含まれており、シェルによって実行されることです。しかし、おそらく誰かが以前にこの種の問題を見たことがあり、どこを調べればよいかを知っているのでしょう。
答え1
エイリアスはパラメータをサポートしていないため、エイリアスの代わりに関数を使用する必要があります。次のようなものを作成します。
killport(){
sudo kill -9 $(sudo fuser -n tcp $1 2> /dev/null);
}
次に、この関数を bash 構成ファイル (例: ~/.bashrc) に追加して、次を実行します。
source ~/.bashrc
これで完了です
HTH