簡體   English   中英

如何使用很多命令在bash腳本中執行ssh?

[英]How to do ssh in a bash script with lot of commands?

我試圖在bash腳本中運行以下命令,但是直到調用./install.sh rereplica為止。 其余命令完全不被調用。

  ssh $node2user@$node2 "cd /tmp; tar -xf $mmCS.tar; cd $mmCS; ./install.sh csreplica; ./install.sh keepalived $vip low;./install.sh haproxy $node1:8080 $node2:8080 $vip:8080; ./install.sh confmongo $dbPath"

如果必須使用SSH執行復雜的腳本,通常會在本地編寫腳本,使用SSH將其復制到目標計算機上,然后在其中執行:

scp foo.sh $node2user@$node2:
ssh $node2user@$node2 "bash ./foo.sh"

這樣,我可以簡單地通過使用bash -x調用腳本來調試腳本,並且可以使用BASH的全部功能。

或者,您可以使用

ssh $node2user@$node2 "set +x; cd /tmp; ..."

您可以在標准輸入上為ssh提供腳本:

ssh $node2user@$node2 < my_script.sh

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM