アプリ版:「スタンプのみでお礼する」機能のリリースについて

teratermを使って、ftpでputさせたいと思います。
OSは、Linuxベースです。

コマンドラインに於いて
$ ls ho*
hoge1.txt hoge2.txt   ← この1行を、inputstrに代入させたい

自分で作ってみたのは、こんな感じ
timeout = 5
sendln 'ls ho*'
result = 0
wait 'ho'
if result=1 recvln
statusbox result 'result '
pause 1
; ダイアログボックスを閉じる
closesbox
messagebox inputstr 'inputstr '

これを実行させると、「$ ls ho*」がinputstr に入っている。何故か?
waitによって期待していた文字列(hoge1.txt hoge2.txt)を、inputstr に入れたいと思います。

どうしたらいいでしょうか。

A 回答 (2件)

waiitしたときに、画面に表示される ls ho* も受信していますので、


以下のようにすればよいかと。
1案
ls ho*を含まない文字で待つ
wait 'txt' のようにする。
2案
最初に、ls ho*の分を読んでしまう。
sendln 'ls ho*'
recvln  ・・・・この行を追加
result = 0

以上の何れかの方法でいかがでしょうか。
    • good
    • 1
この回答へのお礼

ご回答を戴きまして、まことに有難う御座います。

recvln  ← その手があったかぁ!


有難う御座います。

お礼日時:2009/09/18 09:00

teratermのマクロでってことですか?


ふつうにLinuxにシェルスクリプト書いておく方がよくないですか?
    • good
    • 0
この回答へのお礼

ご回答を戴きまして、まことに有難う御座います。

一連の動作で、ホスト側の操作とクライアント側の操作をするため、シェルスクリプトで操作するのには無理があります。

お礼日時:2009/09/18 08:57

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

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