我有一个简单的 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 权限执行)。
答案1
sudo 一次就够了,用 sudo 启动就可以了wrapper.sh
。检查您是否在脚本中具有 root 权限,不再需要 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