- 締切済み
teratermマクロ 文字列分岐
お世話になっております。 下記の件ご教授願えませんでしょうか? teratermを使いサーバに文字列を送り、返ってきた 文字列によって処理を行いたく、下記のようにマクロ を作成したのですが、どうやら、5行目にエラーが発生 してしまい中断という形になってしまいます。 --------------------------------- Prompt1 = '?' sendln 'y' setsync 1 recvln if inputstr = Prompt1 then sendln 'y' else end if setsync 0 --------------------------------- やりたいことは文字列'y'を送信し、 プロンプトで'?'以外の文字列が出力されるまで、 'y'を送信し続ける。 という内容です。 お手数ですがご教授願います。 ちなみにですが、teratermのバージョンは4.57です。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- osamuy
- ベストアンサー率42% (1231/2878)
回答No.2
TeraTermマクロの式は整数型しかサポートしてないので=による文字列判定はできないかと。 recvlnは改行を待つから、「?」しか送られてこないとタイムアウトがにより予期せぬ処理フローが発生するかも。 waitで待ち受ける記述のほうが良いのでは。
- kent85
- ベストアンサー率52% (38/73)
回答No.1
マクロじゃないしに、yes プログラムを使えばいいかと思います。 $ which yes /usr/bin/yes $ yes y | rm -i *.txt $ yes y | rm -i /tmp/*.jpg ( rm -i はインタラクティブに y/n ) # yes y | rm -i *.html