2014-01-10 237 views
0

我在我的linux上使用ssh來遠程訪問第二個linux。 ssh所做的就是讓我的Linux終端成爲遠程Linux終端,而且我在終端中輸入的任何內容都將在遠程Linux上執行。現在我想在遠程訪問建立後使用Shell腳本輸入命令。如何將命令從Shell腳本傳遞到命令行

我用下面的bash做SSH部分:

#!/bin/sh 
ssh [email protected] 

在此之後它會提示輸入密碼這是很好的,我輸入密碼和我連接到遠程主機。 但在此之後,我需要輸入一些額外的命令來自動執行(也是從shell腳本),但只是在上述代碼行不起作用後輸入它們。

任何想法如何做到這一點?

回答

3

告訴ssh將它們發送到遠程shell執行。

#!/bin/sh 
ssh [email protected] << EOF 
./foo bar 42 
cat baz/quux 
EOF 
+0

此創建的交互式會話。在我的機器上,這意味着我得到一個「僞終端不會被分配,因爲stdin不是終端」。警告並且還有多行「Welcome to Ubuntu」登錄消息。 –

+0

@Ignacio Vazquez-Abrams偉大的工作,但它執行第一個完成後的第二個,添加&到行尾也不工作嗎? 我可以以某種方式同時執行它們嗎? –