在 bash 脚本中使用 sudo -i

在 bash 脚本中使用 sudo -i

我想编写一个 bash 脚本,以普通用户身份登录时在 root 下执行一些任务。 有可能实现这样的功能吗?

#!/usr/bash

sudo -i

<multiple line perform all my sudo command>
...
...
...
exit

<back to my user command, continue some other task>

当然,我可以每行都加上 sudo,但我想知道是否可以做类似上面的操作?谢谢。

答案1

像这样简单的事情怎么样?

#!/usr/bash
sudo bash << EOF
# Everything until EOF is run in a sub-shell
echo 'Hello World'
whoami
EOF

答案2

这是一个更简单的方法:

#!/usr/bash

sudo sh another_script.sh

<continue some other task>

这是另一个脚本。

#!/usr/bash
<multiple line perform all my sudo command>
...
...
...

如果您想避免在每个命令前加上前缀sudo,您可以直接将它们包含在另一个脚本中并调用它。

相关内容