有一些命令只有在前面加上sudo
时才能成功执行。
也有一些命令只有在用户不使用sudo
时才能成功执行。
我想从同一个脚本中执行所有这些命令。
我希望尽可能避免以下操作:
#!/usr/bin/env bash
sudo sudo_command_one;
sudo sudo_command_two;
sudo sudo_command_three;
non_sudo_command;
sudo sudo_command_four;
原因是sudo有时间限制,而这些命令可能需要很长时间。我不想时不时地重新输入sudo密码。我可以无限期地延长sudo的超时时间,但如果有更简单的方法,我也宁愿避免这样做。
因此,我将以以下方式运行脚本:
sudo ./script
但这将阻止非sudo命令的工作。
我需要哪些缺失的命令:
#!/usr/bin/env bash
sudo_command_one;
sudo_command_two;
sudo_command_three;
[turn sudo off for a moment]
non_sudo_command;
[ok, turn sudo back on]
sudo_command_four;
很不幸,命令的顺序不能重排,以便我先运行所有sudo命令,然后再运行所有非sudo命令(或者反过来)。
sudo -v
命令来更新 sudo 凭证的时间戳。 - Paul