我有一個腳本,我想通過SSH在遠程運行。它檢查是否有一個進程正在運行,並且應該試圖殺死它,如果存在的話。現在,我的代碼如下所示:捕獲遠程命令在shell腳本內的變量輸出
ssh my_prod_env << ENDSSH
...
pid=$(pgrep -f "node my_app.js")
echo $pid
# kill process with $pid
...
exit
ENDSSH
的問題就在這裏:我不能在變量捕捉p纖ep命令的輸出。我嘗試用$(),反引號,管道然後閱讀,也許其他方法,但都沒有成功。
我想在一個ssh會話中完成所有操作。
現在我正在考慮命令的輸出轉到我無法在腳本中訪問的輸出流。不過,我可能是錯的。 無論哪種方式,將不勝感激。
ssh my_prod_env | pgrep -f「節點my_app.js」? – agilob
我想它的工作,但我可以避免再次只爲這個命令連接?在命令完成後,我必須留在遠程服務器上執行其他操作,並希望在一個ssh會話中完成所有操作。 – ezamur