kazu22002の技術覚書

技術屋として日々の内容を記録しているサイト。PHPやcordovaをやっています。

TeraTermマクロで自動化

相手からかかってきた電話対応にて最初に一言、

「はい。○○会社でした。」

おおお、いきなり終了かよ。
(ちゃんと対応してたけど、笑ってしまうよ)

そんな軌跡を体験したkau22002です。

最近自動化して楽をしよう。と常に考えています。

そのためにもいろいろな場面での自動化を試行錯誤しています。

今回はteratermを利用して、同じ動作のコマンドを自動化してみました。

teratermのマクロ

MACRO Help Index

今回やりたかったことは、特定の文字列がきたらコマンドを実行したい。

ログインから、コマンド実行、終了をループしておきたい。

ということがやりたい。

自動化もそうだが、ループや同じ動作に対してはプログラムで組むのが一番効果的だと思う。

ミスもへるし、時間の短縮にもなり、いいことづくめですね。

あとは技術力の問題ですけどね。

拡張子ttlファイル

「.ttl」で作成します。

コメントアウトは「;」

コマンド wait

wait '文字列'

で対象の文字列まで待ちます。

これを記述すると対象の文字列がでるまで、マクロとしては待機状態になってくれます。

すごく便利

コマンド sendln

sendln

detaの部分をコマンドとして記述する。

コマンド while endwhile

ループの開始で

while 条件

ループの終了で

endwhile

サンプル

ログインの自動化から処理して終了見たいのをやっているので、ほぼ同じようなサンプルを。

ループは無限ループ

while 1

;ログイン
wait 'user'
sendln 'root'

wait 'password'
sendln 'Password1234'

; とりあえず必要なファイル作成
wait 'root@'
sendln 'touch test'
sendln 'cat test'

sendln 'exit'

endwhile

みたいなのができた。

まぁ、今回作ったのはあまり汎用性はないけど、マクロとしてのコマンドはすごく役に立ちそう。

これができたのはちょっと進歩だと思っています。