微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

bash – 如何在sudo中运行两个命令?

有什么办法如何从命令行运行两个db2命令? (它将从PHP exec命令调用)

> db2 connect to ttt(请注意,我们需要为第二个命令使用连接
> db2 UPDATE CONTACT SET EMAIL_ADDRESS =’mytestaccount@gmail.com’

sudo -su db2inst1 db2 connect to ttt; db2 UPDATE CONTACT SET EMAIL_ADDRESS =’mytestaccount@gmail.com’

一个命令正确完成,但第二个sql1024N数据库连接不存在。 sqlSTATE = 08003

注意

我需要运行这个作为PHP用户。命令sudo -u db2inst1 id as PHP user给我正确的输出

sudo可以通过shell运行多个命令,例如:
$ sudo -s -- 'whoami; whoami'
root
root

你的命令会是这样:

sudo -u db2inst1 -s -- "db2 connect to ttt; db2 UPDATE CONTACT SET EMAIL_ADDRESS = 'mytestaccount@gmail.com'"

如果你的sudo版本不支持带有分号的-s(显然,如果编译有某些选项,它不会使用),你可以使用

sudo -- sh -c 'whoami; whoami'

相反,它基本上做同样的事情,但让你明确命名shell。

原文地址:https://www.jb51.cc/bash/392565.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐