到目前为止,我已经能够使用 ssh 创建一个小脚本,并结合期望将单个命令传递给我正在使用的 dd-wrt 路由器。现在这已经完成了,如果可能的话,我希望通过 ssh 登录多次传递相同的命令,而不是只从文本文件中传递一个命令。
完成此操作的另一种方法是创建一个循环并一遍又一遍地传递命令。我将不得不使用一个变量,因为文本文件中命令的数据发生了变化。
这是我到目前为止所拥有的
#!/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"
每次在文本文件中都是相同的命令,只是变量发生了变化。
测试.txt
command xxxxxxx
command xxxxxxx
command xxxxxxx
command xxxxxxx
谢谢