
내가 가진 것:
alias killport='sudo kill -9 `sudo fuser -n tcp $1 2> /dev/null`'
문제:
예를 들어 실행하는 것은 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