wait

文字列を待つ。

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

参照