これまでのところ、ssh と組み合わせて、使用している dd-wrt ルーターに単一のコマンドを渡すことを期待して、小さなスクリプトを作成することができました。これが完了したので、可能であれば、テキスト ファイルから 1 つだけではなく、ssh ログインを介して同じコマンドを数回渡したいと考えています。
これを実現するもう 1 つの方法は、ループを作成してコマンドを何度も渡すことです。ただし、テキスト ファイル内のコマンドのデータが変更されるため、変数を使用する必要があります。
これが私がこれまでに持っているものです
#!/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
ありがとうございました