간단한 터미널 명령을 사용하여 iptables에 규칙을 추가했는데 문제 없이 실행되었습니다.
sudo iptables -A OUTPUT -p tcp -m string --string "facebook.com" --algo kmp -j REJECT
Bash 스크립트에서 명령을 실행하면 다음이 반환됩니다.sudo: ./script.sh: command not found
스크립트는 다음과 같습니다.
#!/bin/bash
sudo iptables -A OUTPUT -p tcp -m string --string "facebook.com" --algo kmp -j REJECT
답변1
스크립트를 실행할 수 없는 경우 적절한 셸(예: /bin/sh
또는 ) 을 사용하여 호출해야 합니다 /bin/bash
. 이것은 shebang 줄을 무시하고 호출 쉘을 사용하여 스크립트가 실행됩니다.
sudo /bin/sh ./script.sh
OP가 의도한 대로 스크립트를 실행하려면 스크립트에 실행 권한을 부여해야 합니다.
chmod +x script.sh
sudo ./script.sh
이 예에서 스크립트는 shebang 라인의 셸을 사용하여 실행됩니다.