Bash:在后台运行多个命令,并带有选项

时间:2018-06-20 00:35:41

标签: bash

我的理解是,在Bash中,您可以像这样在后台运行多个命令:

$ (cmd1; cmd2) &

但是说我想将选项传递给两个命令。这就产生了一个问题,其中将用于cmd2的选项改为传递给cmd1。

$ (cmd1 --A; cmd2 --b) &
Error: cmd1 has no option "b".

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

首先,我不同意您的看法。我创建了两个shell脚本.../jobs?limit=25&offset=1&bankId=3&archived=truecmd1,其内容如下:

cmd2

并做到了:

#!/bin/bash
for arg in $* ; do
    echo "$0: $arg"
done

因此,您会看到参数已传递给正确的命令。

问题可能出在您的ljm@ronsard:~/tmp$ (./cmd1 --A; ./cmd2 --b) & [2] 23984 ljm@ronsard:~/tmp$ ./cmd1: --A ./cmd2: --b [2]+ Done ( ./cmd1 --A; ./cmd2 --b ) 上,它错误地告诉您它的名称是cmd2。尝试cmd1进行验证。