【发布时间】:2013-07-19 10:56:46
【问题描述】:
这里已经有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"
...因为命令本身包含引号。
将命令“分组”并在另一个用户帐户下运行它们的正确方法是什么?
【问题讨论】:
-
Unix stackexchange 好运吗?