请原谅我,如果这是我刚刚完全错过的东西,但是,我有一台远程服务器(NAS),我想开始运行一个命令,而我在本地做一些工作。现在,我相信我可以用以下命令来做到这一点:
ssh foo@bar 'cp -Rl /foo/bar /bar/foo'
但是,我需要在主脚本中从命令的一部分返回一个值,所以我需要它返回但保持cp
命令运行。例如:
foo=$(ssh foo@bar <<- REMOTE_COMMANDS
cp -Rl /foo/bar /bar/foo &
echo "foobar"
REMOTE_COMMANDS)
但是我不相信这会在cp
命令完成之前返回,但如果我使用exit
我认为cp
被中断了吗?
还有另一种让cp
运行的方法,还是我需要运行两个ssh
命令(一个用于cp
,一个用于获取我需要的返回值?)< / p>
答案 0 :(得分:2)
您可以使用以下选项之一:
tmux
&amp; screen
是 1到N 用户可以附加和分离的完整环境。
如果您需要直截了当,请先查看nohup
。
答案 1 :(得分:1)
您可以使用屏幕命令。
只需使用screen -R screen_name
创建一个新屏幕即可。
运行您的命令或代码,然后按 ctrl + a + d 退出该屏幕。
如果要切换回屏幕,请输入以下命令:screen -r screen_name
。
希望它有所帮助。