我有一个程序接收一个参数并每秒打印一次:
~# ./myapp 234
234
234
234
234
...
我希望能够在后台和 shell 之后立即运行它,但它必须在一行中(我不想解释为什么我需要它,因为我现在不想让讨论变得太复杂) .
这是我尝试过的,我收到的错误是:
~# bash -c "./myapp 234 &; sh"
bash: -c: line 0: syntax error near unexpected token `;'
bash: -c: line 0: `./myapp 234 &; sh'
我也试过&&
作为分隔符:
~# bash -c "./myapp 234 & && sh"
bash: -c: line 0: syntax error near unexpected token `&&'
bash: -c: line 0: `./myapp 234 & && sh'
知道我该如何解决吗?
编辑:
感谢@roaima。
我还找到了一个讨论它的链接:
How to run a program in background and also using && to execute another command
&
是一个语句终止符,所以你也不需要;
。虽然我不完全确定你为什么
sh
要从bash
. 对我来说似乎是倒退了一步。