我試圖執行兩個腳本,這些腳本可作爲具有755權限的遠程主機上的sh文件使用。在遠程主機上執行腳本 - 在本地主機中給出的輸出
我試着從如下客戶端主機callling他們:
REMOTE_HOST="host1"
BOUNCE_SCRIPT="
/code/sys/${ENV}/comp/1/${ENV}/scripts/unix/stopScript.sh ${ENV};
/code/sys/${ENV}/comp/1/${ENV}/scripts/unix/startScript.sh ${ENV};
"
ssh ${REMOTE_HOST} "${BOUNCE_SCRIPT}"
以上線路都在本地主機上的腳本。 在本地主機上運行腳本時,遠程主機上的第一個命令(即stopScript.sh)得到正確執行。它殺死正在運行的進程,它被殺死沒有任何錯誤。 然而,第二個腳本的輸出,即startScript.sh被打印到本地主機窗口,但它打算啓動的進程不在遠程主機上啓動。
任何人都可以讓我知道嗎?
- 在遠程主機上執行腳本的方式是否正確?
- 我應該在本地看到遠程主機上的運行腳本輸出嗎?即在本地主機的窗口上?
感謝
我嘗試通過在單個命令中創建兩個單獨的命令來修改本地主機上的腳本。即不是從單個BOUNCE_SCRIPT運行stopScript.sh和startScript.sh。我創建了兩個變量。 STOP_SCRIPT =/code/sys/$ {ENV}/comp/1/$ {ENV} /scripts/unix/stopScript.sh $ {ENV} START_SCRIPT =/code/sys/$ {ENV}/comp/1/$ { ENV} /scripts/unix/startScript.sh $ {ENV}。然而,在運行腳本時,它只管理第一個腳本,即stopScript.sh,它運行第二個腳本,即startScript.sh,但它嘗試啓動的進程不再保持在遠程主機上啓動。任何想法可能是錯誤的? – user2654241
我試着進一步使用下面的命令ssh -q $ {REMOTE_HOST} $ {START_SCRIPT} - 並且工作正常。謝謝大家看看這個問題並提出建議。 – user2654241