加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-15 16:51:34 所属栏目:安全 来源:网络整理
导读:有什么办法如何从命令行运行两个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 CON
有什么办法如何从命令行运行两个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。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读