
O que eu tenho:
alias killport='sudo kill -9 `sudo fuser -n tcp $1 2> /dev/null`'
Problema:
Correr, por exemplo, killport 8000
não parece funcionar. No entanto, simplesmente executando...
sudo kill -9 `sudo fuser -n tcp 8000 2> /dev/null`
... Funciona. Não consigo descobrir onde estou errando.
A principal diferença entre as versões funcionais e não funcionais, pelo que posso ver, é que a versão com alias envolve uma variável e é executada pelo shell para mim.... Mas talvez alguém já tenha visto esse tipo de problema antes e saiba exatamente onde procurar.
Responder1
Você deve usar uma função em vez de um alias, porque os aliases não suportam parâmetros, faça algo assim:
killport(){
sudo kill -9 $(sudo fuser -n tcp $1 2> /dev/null);
}
Agora coloque esta função em seu arquivo de configuração bash, por exemplo, ~/.bashrc e então execute:
source ~/.bashrc
E você terminou
HTH