SSブログ

TeraTermのマクロにおけるリンクと状態制御 その3(2021/02/03) [Windows]

なぜ制御が失敗してしまうかいくつか例を挙げてみたいと思います。

waitで待つ文字列の考慮不足1
sendln 'show running-config'
wait 'Myhost2'
  ↓
Myhost2# show running-config
....
!
hostname Myhost2
!
このようにプロンプト以外でホスト名が出力され、マクロとしてはwaitが満たされたため勝手に先へ進んでしまいます。

waitで待つ文字列の考慮不足2
sendln 'show running-config'
wait '#'
  ↓
Myhost2# show running-config
....
interface GigabitEthernet0/3
 description ### Server ###
 switchport access vlan 100
CISCOの特権モードではプロンプトが#に変わるため、waitで期待する文字列に設定するケースも多いです。ですがこのように#はdescriptionに含めることができるため、マクロとしてはwaitが満たされ勝手に先へ進んでしまいます。

waitのタイムアウト
timeout=5
sendln 'show tech-support'
wait '#'
sendln 'show logging'
wait '#'
timeoutが5秒のため、waitは5秒後に指定文字列の受信がなかったと「タイムアウト」され強制的に先へ進んでしまいます。show techなどは出力完了に数分かかるケースもあります。

タグ:TeraTerm
nice!(0)  コメント(0) 
共通テーマ:日記・雑感

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。