我的理解是,在Bash中,您可以像这样在后台运行多个命令:
$ (cmd1; cmd2) &
但是说我想将选项传递给两个命令。这就产生了一个问题,其中将用于cmd2的选项改为传递给cmd1。
$ (cmd1 --A; cmd2 --b) &
Error: cmd1 has no option "b".
有什么想法吗?
答案 0 :(得分:1)
首先,我不同意您的看法。我创建了两个shell脚本.../jobs?limit=25&offset=1&bankId=3&archived=true
和cmd1
,其内容如下:
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
进行验证。