我使用此命令通过SSH启动脚本:
ssh myuser@myhost "bash -x -c 'source config.sh; nohup Start_JBoss.sh > /dev/null &; sleep 5'"
但是我遇到了错误:
Connecting to: myhost with myuser
Password:
bash: -c: line 0: syntax error near unexpected token `;'
bash: -c: line 0: `source config.sh; nohup Start_JBoss.sh > /dev/null &; sleep 5'
我在这里做错了什么?我知道SSH不是原因,因为同一命令失败到本地shell。
我已经阅读了一些类似的帖子,其中有一些关于Bash版本的提及是其他一些意外令牌问题的罪魁祸首,因此需要在此处添加以供参考:
bash -version
GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu)
答案 0 :(得分:3)
猜猜我没找到足够的搜索,因为我在这里找到了解决方案https://superuser.com/questions/269429/why-did-after-return-an-unexpected-token-error-in-bash 但是留在这里作为参考。
基本上,如果您向后台发送一个您不需要使用的过程;因为shell已经准备好接受新命令了。