[英]Bash Script su exiting shell
我试图编写一个bash脚本,以不同的用户身份执行几个命令以自动化安装过程。
有一点我有
su gpadmin
gpperfmon_install --enable --password password --port 5432
y
gpstar
y
su gpadmin以root身份运行,一旦运行,脚本便会停止,直到我退出gpadmin并以root身份返回为止。
如何在不停止脚本的情况下切换到新用户?
对不起,很抱歉,我尝试使用Google进行搜索,但没有发现任何有效的方法。 任何帮助将不胜感激。
您需要使用-c选项来运行su,以使其运行命令然后退出。 使用您为su提供的选项,它将运行gpadmin的默认外壳程序,该外壳程序将阻塞直到外壳程序退出。 从您已有的代码来看,看来gpperfmon_install是一个交互式应用程序,这是另一个问题。 有时您可以使用here文档,但在其他情况下,则需要使用expect
。
su gpadmin -c 'gpperfmon_install --enable --password password --port 5432 << EOF
y
gpstar
y
EOF'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.