日常生活

便利なExpect

Unix専門で仕事しているわけではないのですが、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などの言語やスクリプトによって異なります。

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

Linux未分類