Bash

bash 腳本中的 sudo:並不總是等待密碼

  • March 7, 2019

我有一個像這樣的簡單 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.shsudo 開始。檢查您是否在腳本中擁有 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

引用自:https://unix.stackexchange.com/questions/505014