我正在尝试使用Linux机器上的bash脚本在远程Linux机器上自动执行某些操作并且有一个工作命令(大括号是来自cmd连接的残余):
(ssh -i /path/to/private_key user@remoteHost 'sh -c "echo 1; echo 2; echo 3; uname -a"')
但是如果一个&符连接在后台执行它,它似乎执行,但是没有输出打印,既不在stdout上,也不在stderr上,甚至重定向到文件(在大括号内)都不起作用......:
(ssh -i /path/to/private_key user@remoteHost 'sh -c "echo 1; echo 2; echo 3; uname -a"') &
顺便说一句,我ssh在Linux 2.4.37.10(在WRT54G上构建TomatoUSB)上的BusyBox v1.17.4中运行客户端dropbear v0.52.
有没有办法获得输出?这种行为的原因是什么?
编辑:
为方便起见,这里是普通的ssh帮助输出(在我的TomatoUSB上):
Dropbear client v0.52
Usage: ssh [options] [user@]host[/port][,[user@]host/port],...] [command]
Options are:
-p <remoteport>
-l <username>
-t Allocate a pty
-T Don't allocate a pty
-N Don't run a remote command
-f Run in background after auth
-y Always accept …Run Code Online (Sandbox Code Playgroud)