Shell

通過 ssh 執行命令時如何避免“模糊重定向”

  • April 23, 2018

我正在嘗試通過 ssh 在遠端伺服器上執行腳本。

該命令應該進入後台並在註銷後繼續執行。該命令的結果應重定向到遠端站點上的 out.log。

ssh 程序應該退出而不等待命令

遠端外殼是 csh

我嘗試了以下行的各種版本(引用,大括號……)

ssh target.host "nohup csh longrunning.sh > out.log 2>&1 &; exit"

要麼我的嘗試在遠端站點上沒有做任何事情,要麼我得到了不明確的重定向,因為有多個&符號。

遠端站點是一個最小的 FreeBSD 系統,沒有screen安裝類似的工具

你不只是在尋找

ssh target.host "nohup csh longrunning.sh >& out.log &; exit"

對於您要實現的目標,這似乎是 csh 的正確語法。

您使用的語法與 csh 不兼容,因為它的語法與 Bourne shell 不兼容。

引用自:https://unix.stackexchange.com/questions/439332