あなたは何にトキメキますか?

お世話になっております。
下記の件ご教授願えませんでしょうか?

teratermを使いサーバに文字列を送り、返ってきた
文字列によって処理を行いたく、下記のようにマクロ
を作成したのですが、どうやら、5行目にエラーが発生
してしまい中断という形になってしまいます。


---------------------------------
Prompt1 = '?'
sendln 'y'
setsync 1
recvln
if inputstr = Prompt1 then
sendln 'y'
else
end if
setsync 0
---------------------------------

やりたいことは文字列'y'を送信し、
プロンプトで'?'以外の文字列が出力されるまで、
'y'を送信し続ける。
という内容です。

お手数ですがご教授願います。
ちなみにですが、teratermのバージョンは4.57です。

A 回答 (2件)

TeraTermマクロの式は整数型しかサポートしてないので=による文字列判定はできないかと。


recvlnは改行を待つから、「?」しか送られてこないとタイムアウトがにより予期せぬ処理フローが発生するかも。

waitで待ち受ける記述のほうが良いのでは。
    • good
    • 0

マクロじゃないしに、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

参考URL:http://www.linux.or.jp/JM/html/gnumaniak/man1/ye …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報