1樓:
#!/bin/bash
#呼叫expect指令碼執行遠端sh
expect -c '
set timeout 10000
spawn ssh usr@ip
expect
"*assword"
}expect "#"
send "sh 1\r"
expect "#"
'echo
ls -l
其中timeout時間需要設定足夠長,不然會連線超時斷掉。
或者你配置了rsh,可以把上面的expect過程替換成rsh [host] [-l username] [-n] [command]
2樓:可興修
只要你遠端的指令碼1裡面沒有通過 nohup 呼叫,這個指令碼本身就會要求 1執行完成後才能執行 ls -l指令,無需sleep
你可以這樣測試
ssh user@ip "sleep 2;echo 1"
echo 2
你可以看到顯示結果一定是12
怎麼樣,給分吧
利用shell指令碼執行ssh遠端另一臺主機執行命令並返回命令的結果集
3樓:
假設從主機a,檢查bai主機dub上的程序,需要在主機b上建立檢查zhi使用者,例如叫daox,並設定通過版public key認證登入ssh,不會可以google搜一權下,
然後,在a機器上執行:
ssh x@b ~/command.sh > result.txtcommand.sh就是b機器上放置在x目錄下的指令碼。
輸出結果應該是寫到了result.txt
或者另一種寫法
result=`ssh x@b ~/command.sh`結果直接儲存到result變數中了。
暫時沒有linux環境,所以沒有實際測試,你自己試試吧
shell指令碼的概念區別,Shell指令碼的概念區別
shell shell是一種程式設計語言。作為命令語言,它互動式解釋和執行使用者輸入的命令或者自動地解釋和執行預先設定好的一連串的命令 作為程式設計語言,它定義了各種變數和引數,並提供了許多在高階語言中才具有的控制結構,包括迴圈和分支 指令碼 指令碼,是使用一種特定的描述性語言,依據一定的格式編寫的...
編寫shell指令碼,編寫一個shell指令碼
ip ifconfig grep inet addr awk f awk head 1 echo 本機ip是 ip iplist echo ip awk f.for k in docheckip iplist k echo check checkip tmp ping c1 checkip grep...
利用shell指令碼執行ssh遠端另一臺主機執行命令並返
假設從主機a,檢查bai主機dub上的程序,需要在主機b上建立檢查zhi使用者,例如叫daox,並設定通過版public key認證登入ssh,不會可以google搜一權下,然後,在a機器上執行 ssh x b command.sh result.txtcommand.sh就是b機器上放置在x目錄下...