1
到目前爲止,我已經能夠使用ssh創建一個小腳本,期望將一個命令傳遞給我正在使用的dd-wrt路由器。現在已經完成了,如果可能的話,我希望通過ssh登錄多次傳遞相同的命令,而不是僅從文本文件中傳遞一次。如何通過ssh將命令傳遞給dd-wrt使用文本文件中的變量進行循環?
完成此操作的另一種方法是創建一個循環並將命令通過並重新傳遞。我將不得不使用一個變量,因爲文本文件中命令的數據發生了變化。
這裏是我迄今爲止
#!/bin/expect -f
設置的密碼密碼
spawn ssh -l root x.x.x.x -p "command"
expect "*password:*"
send -- "$password\r"
send -- "\r"
從我可以看到創建一個循環將是最簡單的方法,但我可能是錯的。 注意我想要通過的「命令&變量」在單獨的文本文件中,並且它需要讀/取每一行並將每一行插入到循環中。除非有辦法一次性發送它們。
#!/bin/expect -f
設置的密碼密碼
spawn ssh -l root x.x.x.x -p "command Variable" <-- Command to be passed through
expect "*password:*"
send -- "$password\r"
send -- "\r"
它在文本文件中的每個時刻,只有變量的變化相同的命令。
的test.txt
command xxxxxxx
command xxxxxxx
command xxxxxxx
command xxxxxxx
感謝信
該循環的工作非常好,謝謝你,但我已經從文本文件中刪除命令,並將其放在「$命令」前,因爲它只是將該變量攜帶到ssh.exp文件。 – 2013-04-05 12:41:03