Bash
bash 腳本中的 sudo:並不總是等待密碼
我有一個像這樣的簡單 bash 腳本:
#!/usr/bin/env bash sudo ./some_other_script_01 sudo ./some_other_script_02
當我執行這個腳本時,我總是像往常一樣看到密碼提示:
[sudo] password for user:
但是有時,莫名其妙地,在我輸入密碼之前,
./some_other_script_01
就開始執行(可能沒有 root 權限)。即使它確實提示我輸入密碼(我還沒有提供),也會發生這種情況。目前,當這種情況發生時,我必須終止腳本並重新開始(以便它們以 root 權限執行)。
sudo 一次就足夠了,只需從
wrapper.sh
sudo 開始。檢查您是否在腳本中擁有 root 權限,不再需要 sudo 呼叫。sudo ./wrapper.sh
wrapper.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