実現したいこと
TeraTermマクロにおいて、filesearchコマンドを利用してif文を作成したいです。
前提
filesearchコマンドにより指定したファイルを検索し、存在が確認できればresult=1の処理、確認できなければresult=0の処理に向かうif文を作成しています。
発生している問題・エラーメッセージ
・filesearchコマンドにより、 "/home/test/test.lock"を検索、存在を確認できていないのかresult=0しか返却されない。
if result=0の処理しか行われない(result=1の処理が行われない、分岐しない)
該当のソースコード
ttl
1;filesearchはファイルの存在を確認した場合はresult=1, 確認できなかった場合はresult=0が返却 2filesearch "/home/test/test.lock" 3 4;test.lockファイルを確認した場合、シェルを実行せずにマクロを終了 5if result = 1 then 6 endMsg = "test.lockファイルが存在しています。マクロを終了します。" 7 messagebox endMsg "Status" 8 end 9 10elseif result = 0 then 11;yesnoboxは「はい」でresult=1, 「いいえ」でresult=0が返却 12MSG = "「はい」→test.sh実行 「いいえ」→終了" 13yesnobox MSG "Status" 14if result = 0 then 15 end 16else 17 sendln "/home/test/test.sh" 18 end 19endif 20end
試したこと
・「filesearchが機能していないのでは?」「別の場所からresult=0の値が返却されているのでは?」と考え、filesearchの列をコメントアウトした。
結果:filesearch以降の処理が行われなかったため、resultに値が入っていない(=filesearchからresult=0が返却されている)
・"/home/test/test.lock"のパスが誤っている(ファイルが存在していない)のでは?
結論:誤っていない。試しにsendln コマンドで"ls /home/test/test.lock"を送信した際は正しく存在していることが確認できた
・changedirコマンド、sendln "cd"を用いて、Teratermや接続先のカレントディレクトリを変更し、
「filesearch "test.lock"」で実行した。
結果:何も変わらず、result=0のみ返却
・echoやshowlnでデバッグを試みたがUnknown commandとなってしまう...
補足情報(FW/ツールのバージョンなど)
OS:Linux
TeraTermマクロのバージョン:4.97

回答1件
あなたの回答
tips
プレビュー