在Linux脚本中,是否可以在同一进程中执行多个命令?

jos*_*lan 3 db2 bash shell ksh

我有一个包含以下内容的脚本:

db2 connect to user01
db2 describe indexes for table table_desc
Run Code Online (Sandbox Code Playgroud)

我想要的是执行第一行的过程与运行第二行的过程不同.这意味着执行第一行的进程获得连接,而运行第二行的第二个进程根本没有连接.这是经过验证的,因为我在第二行收到错误,说没有数据库连接.

是否可以使用相同的进程运行这两个命令?或者至少是一种将第一个过程"加入"到第二个过程的方法?

Ans*_*ers 7

如果您希望两个指令都在同一个进程中运行,则需要将它们写入脚本:

$ cat foo.db2
connect to user01
describe indexes for table table_desc
Run Code Online (Sandbox Code Playgroud)

并在db2解释器中运行该脚本:

db2 -f foo.db2
Run Code Online (Sandbox Code Playgroud)

一个在此文件可能的工作,以及:

db2 <<EOF
connect to user01
describe indexes for table table_desc
EOF
Run Code Online (Sandbox Code Playgroud)

但是,我无法测试,因为我目前还没有Linux上的DB2.