다음과 같은 간단한 bash 스크립트가 있습니다.
#!/usr/bin/env bash
sudo ./some_other_script_01
sudo ./some_other_script_02
이 스크립트를 실행하면언제나평소처럼 비밀번호 프롬프트를 검토하세요.
[sudo] password for user:
그러나 때로는 설명할 수 없을 정도로 ./some_other_script_01
비밀번호를 입력하기도 전에 실행이 시작됩니다(아마도 루트 권한이 없을 것 같습니다). 이런 일이 일어나도했다(아직 제공하지 않은) 비밀번호를 입력하라는 메시지가 표시됩니다.
현재 이런 일이 발생하면 스크립트를 종료하고 다시 시작해야 합니다(루트 권한으로 실행되도록).
답변1
Sudo는 한 번이면 충분합니다. sudo로 시작하세요 wrapper.sh
. 스크립트에 루트 권한이 있는지 확인하십시오. sudo 호출은 더 이상 필요하지 않습니다.
sudo ./wrapper.sh
래퍼.sh:
#!/usr/bin/env bash
if [ "$EUID" -ne 0 ]
then echo "Please run as root"
exit
fi
./some_other_script_01
./some_other_script_02