透過多個 ssh 在遠端伺服器上執行本機腳本時,腳本被分成多行?

透過多個 ssh 在遠端伺服器上執行本機腳本時,腳本被分成多行?

我的本機電腦上有一個腳本,script.sh.我想在只能透過多個 ssh 存取的遠端伺服器上運行它。

腳本.sh:

ls
ls
ls

我試過:

user@localhost:~/$ ssh -At host1 ssh -At host2 "bash -s" -- < ./script.sh

但輸出被分成多行:

user@host2:~/$ ls
examples.desktop
user@host2:~/$ ls
examples.desktop
user@host2:~/$ ls

我還希望在不將我置於遠端電腦上的終端機中的情況下執行此操作。

如何讓腳本作為單一命令執行?

答案1

我可以透過刪除該-t標誌來解決此問題,這樣 ssh 就不會將我置於遠端主機上的終端中。

user@localhost:~/$ ssh -A host1 ssh -A host2 "bash -s" -- < ./script.sh

輸出:

examples.desktop
examples.desktop
examples.desktop
user@localhost:~/$

它還使我保持在本地主機上,而不是讓我進入遠端主機上的終端。

相關內容