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

标签 bash shell db2 ksh

我有一个脚本包含:

db2 connect to user01
db2 describe indexes for table table_desc

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

是否可以让同一个进程运行两个命令?或者至少是一种将第一个过程“加入”到第二个过程的方法?

最佳答案

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

$ <b>cat foo.db2</b>
connect to user01
describe indexes for table table_desc

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

db2 -f foo.db2

A Here Document也可能有效:

db2 <<EOF
connect to user01
describe indexes for table table_desc
EOF

不过,我无法对此进行测试,因为我目前手头没有 Linux 上的 DB2。

关于bash - 在Linux脚本中,是否可以在同一个进程中执行多个命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17194207/

相关文章:

android - 我如何让 shell 执行存储在 rList 中的 Activity ?

Java JPA,如何在不破坏-创建的情况下更新表?

数据库2?查找错误 db2 错误代码

bash - 如何仅通过键盘从 Windows 应用程序复制/粘贴到 vim-gnome(通过 ssh 运行到 linux 服务器)

regex - GNU sed 无法匹配组合字符串中的最后一个换行符

windows - 在 Windows 上,Git Bash vs Windows Powershell vs 命令提示符有什么区别

linux - 带有 cron 作业的 Shell 脚本在未运行的情况下启动程序?

java - QueryDsl 集模式

linux - rsync 排除 `/index.php` 的模式,但不排除 `/dir/subdir/index.php` 的模式

ruby - 安装 RVM 和 Ruby 1.9.3 后,每个 Bash 路径更改都会打印 RVM 初始化脚本