如何在Bash中以另一个用户的身份执行一组命令?
这里已经存在一些有关以其他用户身份运行命令的现有问题。但是,问题和答案只针对单个命令,而不是一长串命令。 例如,考虑以下脚本: #!/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" ...因为命令本身包含引号。 将命令“分组”并在另一个用户帐户下运行它们的正确方法是什么?