首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Bash中以另一个用户身份执行一组命令?

如何在Bash中以另一个用户身份执行一组命令?
EN

Stack Overflow用户
提问于 2013-07-20 11:02:56
回答 3查看 98.3K关注 0票数 71

这里已经有some existing questions被问及以其他用户身份运行命令的问题。但是,问题和答案集中在单个命令上,而不是一长串命令上。

例如,考虑以下脚本:

代码语言:javascript
运行
复制
#!/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'

这里有几个重要的要点需要注意:

  • 最后三个命令必须以其他用户身份使用susudo运行。在这个例子中有三个命令,但是假设有更多的命令...

  • 命令本身使用单引号和双引号。

上面的第二点防止使用以下语法:

代码语言:javascript
运行
复制
su somebody -c "command"

...since命令本身包含引号。

将命令“分组”并在另一个用户帐户下运行它们的正确方法是什么?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17758235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档