无法在一行中运行后台进程和 bash 中的其他命令:意外的标记“;”

无法在一行中运行后台进程和 bash 中的其他命令:意外的标记“;”

我有一个程序,它接收一个参数并每秒打印它:

~# ./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。
我还找到了一个谈论它的链接:
如何在后台运行程序并使用 && 执行另一个命令

答案1

&是一个语句终止符,所以你也不需要;

bash -c "./myapp 234 & sh"

虽然我不完全确定你为什么想sh逃离bash.对我来说似乎是一种倒退。

相关内容