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などの言語やスクリプトによって異なります。
結構、間違えやすいので、
コメントをつけてアウト(無効)にする
と覚えておきましょう!
コメント