这里已经
some existing questions询问了作为另一个用户运行命令。但是,问题和答案集中在单个命令,而不是一大组命令。
例如,考虑以下脚本:
#!/bin/bash set -e root_command -p param1 # run as root # these commands must be run as another user command1 -p 'parameter with "quotes" inline' command2 -p 'parameter with "quotes" inline' command3 -p 'parameter with "quotes" inline'
这里有几个要点要注意:
>最后三个命令必须作为另一个用户使用su或sudo运行。在示例中有三个命令,但假设还有更多…
>命令本身使用单引号和双引号。
上述第二点阻止使用以下语法:
su somebody -c "command"
…因为命令本身包含引号。
什么是正确的方式“组”命令,并在另一个用户帐户下运行它们?