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