我正在尝试编写一个 bash 脚本,该脚本以不同的用户身份执行多个命令来自动化安装过程。
在某一时刻我有
su gpadmin
gpperfmon_install --enable --password password --port 5432
y
gpstar
y
Run Code Online (Sandbox Code Playgroud)
su gpadmin 以 root 身份运行,一旦运行,脚本就会停止,直到我退出 gpadmin 并以 root 身份返回。
如何在不停止脚本的情况下切换到新用户?
抱歉我的无知,我尝试用谷歌搜索但没有发现任何有用的东西。任何帮助将不胜感激。
您需要使用 su 的 -c 选项才能运行命令然后退出。使用您为 su 提供的选项,它将运行 gpadmin 的默认 shell,该 shell 将阻塞,直到 shell 退出。从您已有的代码来看,gpperfmon_install 似乎是一个交互式应用程序,这是另一个问题。有时您可以使用此处文档,但在其他情况下您需要使用expect.
su gpadmin -c 'gpperfmon_install --enable --password password --port 5432 << EOF
y
gpstar
y
EOF'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4895 次 |
| 最近记录: |