Linux等のリモートサーバ上で自動的に処理をさせたい場合、expectを使うのが一般的です。 今回はexpectを使って、リモートサーバ側でwhileを使った処理をさせた時のメモです。 今回やりたかったことは、サーバAからサーバBにログインし、複数ノードにPingを打つ、というような処理です。 expectの構文はtcl文法 今までよく知らずに使っていましたが、expectはtcl文法を使っていたので、下記の書式でループを作ることができました。 while { 条件式 } { 処理 } 例) sshで入ったサーバから、192.168.1.0-128のノードにPingを打って抜ける。 こんな感じで出来ました。 #!/bin/bash SSHHOST=hoge001 password="hogehoge" PINGHOST="192.168.1." expect -c " spawn ssh