便利なExpect

68Unix専門で仕事しているわけではないのですが、Unix環境が十数年前からあるのに、初めて知ったコマンド「Expect
RedHat系ではbaseに入っているので、最初からインストールされているかもしれませんが、なければ、

#> yum -y install expect

でサクッとインストールできます。

普段から、使っている人には”何を今更”と言われそうで、恥ずかしいのですが、昨日にこのコマンドを知ったので、やっぱりUnixって奥深いなぁって実感しました。:[

expect – 対話的なプログラムとのやりとりを自動化するプログラム

で、別のマシンにログインして、リモートの環境でバックアップをとったり、リモートの環境でプログラムを動かしたりと幅広い利用方法が出来、すご~く便利です。
autoexpectと言うコマンドもあり、

#> autoexpect -f test telnet hoge

の様に、hogeにtelnetで接続した後、login: pass:から、いろんな作業をして、telnetが終了するまでのスクリプトを自動的にtestのファイル名で作成してくれるので、これまた便利なのですが、出来上がったtestファイル内のスクリプトは完全ではありませんから、適宜、変更しましょう。

後、デフォルトでタイムアウトが10秒に設定されていますから、タイムアウトしないようにするには、

set timeout -1

を記述しておいた方が良いかもしれません。
も一つ、スクリプト内にパスワードを記述する場合には、ファイルの属性を、700とかにしておいた方が、安全ですな。

余談ではありますが、「コメントアウト」って皆さん、ご存知ですよね;p
コメントアウトって、コメント(#や)をつける事? それとも、それらのコメントを外す事?
正解は

コンピュータの設定ファイルやプログラムのソースファイルを変更するときに、もともと書かれている内容を消してしまうのではなく、コメントとして無効化すること。

なので、コメントを付けるのが正解ですね。

やり方としては行頭に#などの文字を付け加える方法やで囲む方法などがありますが、phpやCSSなどの言語やスクリプトによって異なります。

結構、間違えやすいので、
コメントをつけてアウト(無効)にする
と覚えておきましょう!

スポンサーリンク
336×280(テキスト&ディスプレイ広告)
336×280(テキスト&ディスプレイ広告)
banner