私がやろうとしていることは次のとおりです。
- ファイルを作成します。このファイルは、同じディレクトリからファイル
.exp
を読み取り*.txt
、テキスト ファイル内のすべてのコンテンツを解析して、expect スクリプトの文字列変数に変換します。 - 一連のホスト名を含む文字列をループし、文字列が列挙されるまで一連のコマンドを実行します。
txt
したがって、スクリプトが行うことは、同じディレクトリ内のファイルから一連のホスト名を読み取り、それらを文字列に読み取ることです。.exp
ファイルはそれぞれに自動ログインし、一連のコマンドを実行します。
次のコードを記述しましたが、機能しません。
#!/usr/bin/expect
set timeout 20
set user test
set password test
set fp [open ./*.txt r]
set scp [read -nonewline $fp]
close $fp
spawn ssh $user@$host
expect "password"
send "$password\r"
expect "host1"
send "$scp\r"
expect "host1"
send "exit\r"
どんな助けでも大歓迎です....