我希望能够说:
./run_process.sh; sudo shutdown -P now
但是调用 sudo 会要求我输入密码,然后我的笔记本电脑不会关机,因为它在等待我的密码。如何在输入命令时预先向 sudo 提供密码(但仍可以在没有 sudo 的情况下从我的用户帐户运行 ./run_process.sh)?
答案1
你可以在这里做一些“逆向心理学”:
sudo bash -c "sudo -u dspyz ./run_process.sh; shutdown -P now"
即运行 sudo,然后以您自己(dspyz
该系统上的您的用户名在哪里)而不是 root 身份“unsudo”您的进程,然后在原始 sudo 下关闭。
你可以尝试一下看看它会产生什么效果:
sudo bash -c 'sudo -u dspyz id; echo `id`'
其中,id
命令显示当前用户的 ID 和 将是您的(即,对于扮演 角色的dspyz
第一个 ,其 ID 为,但对于扮演 角色的第二个,其 ID 为)。id
./run_process.sh
root
id
shutdown -P now
希望这可以帮助。