
Lo que tengo:
alias killport='sudo kill -9 `sudo fuser -n tcp $1 2> /dev/null`'
Problema:
Sin embargo , ejecutar, por killport 8000
ejemplo, no parece funcionar. Sin embargo, simplemente ejecutando...
sudo kill -9 `sudo fuser -n tcp 8000 2> /dev/null`
... Funciona. No puedo entender dónde me estoy equivocando.
Por lo que puedo ver, la principal diferencia entre las versiones que funcionan y las que no funcionan es que la versión con alias implica una variable y la ejecuta el shell por mí... Pero tal vez alguien haya visto este tipo de problema antes y lo sepa. justo donde mirar.
Respuesta1
Deberías usar una función en lugar de un alias, ya que los alias no admiten parámetros, haz algo como esto:
killport(){
sudo kill -9 $(sudo fuser -n tcp $1 2> /dev/null);
}
Ahora coloque esta función en su archivo de configuración de bash, por ejemplo ~/.bashrc y luego ejecute:
source ~/.bashrc
Y tu estas listo
HT