我们可以使用heredocs使用sudo运行多个命令吗?
我在运行时遇到问题(需要为每个命令传递密码) 多个命令:
echo 'password'| sudo -S ls
echo 'password'| sudo -S cat /var/log/abc.log
任何人都可以帮助我如何在脚本中自动执行此操作吗?喜欢:
echo 'password' | sudo -S << ENDBLOCK
ls
cat
ENDBLOCK
答案 0 :(得分:4)
您可以运行sh -c ...
,但请记得正确引用。
sudo sh -c 'id; echo another command ; id'
sudo
必须将此视为sh
命令的单个参数。
当然你可以使用换行代替分号:
sudo sh -c '
echo "I am root"
id
echo "another command"
id
'
答案 1 :(得分:2)
一种方法是编写一个脚本,其中包含使用sudo所需的所有内容,然后使用sudo运行脚本。
答案 2 :(得分:1)
您可以将所有命令放在脚本中。然后