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。

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...