![在 bash 脚本中增加 sudo 超时](https://linux22.com/image/1068244/%E5%9C%A8%20bash%20%E8%84%9A%E6%9C%AC%E4%B8%AD%E5%A2%9E%E5%8A%A0%20sudo%20%E8%B6%85%E6%97%B6.png)
我有一个安装了很多软件的 bash 脚本。整个过程大约需要 1 小时,因此我想增加sudo
超时变量。我认为可以这样做,如下所示:增加 Sudo 的持续时间。
但是,我找不到任何有关命令行的描述...
就我而言,我想在脚本中进行此更改。我可以在sudo echo 'Defaults timestamp_timeout=300' >> /etc/sudoers
bash 脚本的第一行放置类似以下内容:但是,这是不允许的。
答案1
我将发布我的问题的答案,以防将来其他人遇到此类问题。
感谢@steeldriver 的帮助。
事实上,最好sudo
在整个脚本上使用,然后使用前缀: 来转义其中需要以用户身份运行的命令。sudo -u $SUDO_USER
重要的是,当以 root 权限运行脚本时,会发生$HOME
更改,因此要小心。为了引用原始用户的主页,请创建一个变量:
USER_HOME=$(sudo -u $SUDO_USER -H -s eval 'echo $HOME')
$USER_HOME
然后如果需要,对带有 前缀的路径进行操作。