IPアドレス、ファイルの場所、パスワードを含むファイルがあります。ssh キー認証を使用できないため、bash スクリプト内での使用に制限されています。このファイルには、スペースで区切られた次の情報が含まれています。
IPロケーションパスワード
IPロケーションパスワード
等
私のスクリプトは次のとおりです。
VAR=$(expect -c "
set fid [open "file.conf" w]
set content [read $fid]
close $fid
set records [split $content "\n"]
foreach rec $records {
set fields [split $rec]
lassign $fields\ ip location password
puts "$ip"
puts "$location"
puts "$password"}
spawn ssh $ip tail -f $location > /home/log_$ip 2>/dev/null &
expect {
".*Are.*.*yes.*no.*" { send "yes\n" }
"*?assword:*" { send "$password\r" }
}
")
エコー "$VAR"
スクリプトを実行すると、次のエラーが表示されます。
間違った # 引数: "read channelId ?numChars?" のはずです または、「set content [read ]」内から呼び出された「read」の実行中に「read ?-nonewline? channelId」