
Что у меня есть:
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
И вы сделали
НТН