文字列を待つ。
wait <string1> [<string2> ...]
文字列 <string1> [<string2> ...] のうち一つがホストから送られてくるか、タイムアウトが発生するまで MACRO を停止させる。文字列は最大 10 個まで指定できる。
空文字列が指定された場合、任意の一文字を受信するのを待つ。
システム変数 timeout か mtimeout が 0 より大きい場合、<timeout>.<mtimeout> 秒の時間がすぎるとタイムアウトが発生する。タイムアウトの値が 0 以下の場合は、タイムアウトは発生しない。
これらのコマンドの実行結果はシステム変数 result に格納される。変数 result の値の意味は以下のとおり。
値 | 意味 |
---|---|
0 | タイムアウト。どの文字列も来なかった。 |
1 | <string1> を受信した。 |
2 | <string2> を受信した。 |
n | <stringn> を受信した。n=1..10 |
; タイムアウトを30秒に設定。 timeout = 30 ; 文字列 "OK" か "ERROR" を待つ。 wait 'OK' 'ERROR' ; タイムアウトなら、:timeout へジャンプ。 if result=0 goto timeout ; "OK" が来たなら、:ok へジャンプ If result=1 goto ok ; "ERROR" が来たなら、:error へジャンプ If result=2 goto error ; 行先頭の ">" か、行末の "complete." を待つ。(ASCIIコード10, 13は LF, CR) wait #10'>' 'complete.'#13 ; タイムアウトを100ミリ秒に設定。 timeout = 0 mtimeout = 100 wait 'server response'
; 制御コードを待つ setdebug 2 wait '11 0D 11 0D' setdebug 0