我想编写一个 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
,您可以直接将它们包含在另一个脚本中并调用它。