私の Expect スクリプトでの目標は、マザーボード上の 2 つのプロセッサのプロパティを表示するコマンドを送信することです。リモートログインが成功したと仮定してください。send 句の変数が正常に評価されない場所です。
プロシージャと変数があります: set showcpu "show -d properties /SYS/MB/P\r"
「cpu」カウントが0から始まり2未満の場合に「送信」を実行するwhileループを作成しました。
set cpu 0 while { $cpu < 2 } { expect { -re $prompt {send "${showcpu}${cpu}\r"; } timeout { my_puts "ILOM prompt timeout error-2" [ list $fh1 $fh3 stdout ] exit 1 } } set cpu [ expr {$cpu + 1} ] }
実行結果は次のとおりです。
[BL0/SP]-> show -d properties /SYS/MB/P
show: Invalid target /SYS/MB/P
[BL0/SP]-> 0
Invalid command '0' - type help for a list of commands.
$showcpu
スクリプトで値を結合したかったので、次の$cpu
ようになります。
show -d properties /SYS/MB/P0 and show -d properties /SYS/MB/P1.
誰かがそれを達成するために何をする必要があるか教えてもらえますか?