Expect

 ターミナルを使っていると、色々自動化したくなる。シェルスクリプトとかちょっと書いてみるけど、パスワードなどを標準入力で待つものを自動化するのはシェルスクリプトだと多分ムリ(‘A`) そんなときに使えるのが expect っていう言語。画面上に表示される文字を待って、それに応じて待っている標準入力に値を入れてくれるというようなもの。

Manpage of expect が参考になった。

例えば、以下のような感じになる。set_timeout -1 は、タイムアウトしないようにする。これをやると、多分待つものをミスったら永遠に止まっちゃう。spawn でコマンドを実行するみたい。そのあと、expect “string” で画面に表示される文字を待つ。それが出たら、send “string” で文字を送信する。だいたいは、入力の最後に Enter を押すと思うので、それも一緒に送ってあげる。inter_act で、次へ行くことになる。 log_file は、画面に出たことがそのまま保存されるようだ。

#! /usr/bin/expect --
set timeout -1
log_file log

spawn passwd user1
expect "New Password:"
send "password\\r"
expect "Reenter New Password:"
send "password\\r"
interact
Expect

TOP×TOP!買いました

 昨日はTOP×TOP!の発売日でした。amazonで予約してたから昨日来るか分からなかったけど、朝一で届いた(´∀`)その時間は頭痛で寝込んでたけど…。大ファンな今井麻美さんのブログに発売の記事があったので初めてトラックバックをしてみました。発売おめでとうございます!

 TOP×TOP!は、THE IDOLM@STER RADIO のCDで、ラジオ+新曲みたいな構成。ラジオ聴き始めたの最近なので、だいたい初めて聴くものです。大学入ったあと、ラジオってあんまし聴かなくなっちゃったけど、高校のころは毎日聴いてました。ネットは電話線で3分10円したから親に1日1時間までって言われてたので、ネットもちょっとしかやらず。TVはなぜか全然見ない高校生でした。今は、THE IDOLM@STER RADIOは音泉で聴いてます(´∀`)ネット

 今回の今井さんの新曲は「声が聴こえる」はテーマが「命」でサブテーマが「時間」だそうです。命とか時間とか重い話は、音楽や本や絵画などの芸術作品に触れたときしか考えることはないけれど、色々なことを考えられるので芸術作品に触れるのは好きです。命や時間に限らず、今日常に当たり前に存在しているものには全て慣れてしまってます。何でも、失うのは怖いけれど、一番怖いのは手に入れた瞬間。しばらくは怖いけど、段々慣れてきてそれを失ったことなど全く考えなくなる。まだそんなに生きてないから特に失ったものはないけれど、きっと失う直前も人間には何故かそれが分かってしまい、怖くなるのかも。中でも時間は最もそれを強く感じるものな気がします。

 今なら友達が遠くに行ってしまっても連絡を取る手段はたくさんあるけど、小学校のときはなぜか転校してしまう友達は永遠に会えないような気がしてた。手紙も電話もあるのに、そばにいないと二度と会えないような気がして、そのたびとても悲しくなった記憶。二度と交わることのない時間軸を辿っていくようになるのだと。大して人生経験もないので、「声が聴こえる」を聴いていたらそんな昔のことを思い出しました。

 THE IDOLM@STER RADIOの前回のCD歌姫楽園にあった今井さん作詞の月下祭と今回の曲に共通のキーワードがあるそうですが、「花びら」かなーと思ってます。記憶や思い出みたいな感じで使っていらっしゃるのかと(´∀`)今井さん作詞の曲が、今まで7曲あるらしいですが全部聴いてみたいです。あとA.I.E.Nの曲くらいしか知らないですが>< 作詞は考えるのが大変で、書き出したらすぐって書かれてました。中身全然違うけど、プログラミングもそうですね(‘A` ) 作詞って小学校の音楽の授業で何故か課題になって一度やったことあるけど難しすぎて何書いたか覚えてません…。

 CDに、生演奏のライブ出来たら良いって書いてあったんですけど、是非実現させてください!そして、第3作も楽しみにしていますー。

TOP×TOP!買いました

ゴーヤ

 今日は頭痛がひどくて一日家で寝てた。栄養つけねばと思って、一昨日くらいに買ったゴーヤを食べることに。ゴーヤチャンプルーぽい感じでいいかなと思って、てきとーに作ってみた。ゴーヤ調理するの初めて。

 まず、豆腐を炒めて水分を若干飛ばそうとしたけど、飛ばず。もやしを追加してしばらく炒める。もやしに火が通ってきたら、椎茸とゴーヤ追加してさらに炒めた。最後に卵でとじて終了。ゴーヤはさっと塩茹ですると苦味が抜けるとかネットに書いてあったけど、あの苦味が好きなのでそのまま。でも、中身くりぬくってのは調べておいてよかった(‘A` ) 

 あとは、砂肝を炒めて食べた。砂肝は、てきとーに炒めて塩ふれば焼き鳥のあの感じで食べられるから簡単でよい(´∀`) ゴーヤチャンプルーもどきは、苦味がいい感じで美味しかったー。今が旬らしいので、ちょくちょく食べようと思う。

ゴーヤ

SVKの使い方

 バージョン管理ツールSVKの使い方。

初回使用時

$ svk depotmap --init 

とする。これで、$HOMEに.svkというディレクトリが生成され、各種SVKコマンドが使えるようになる。

ローカルにミラーを作成

$ svk mirror //mirror/sample_project http://testsite/svn/sample_project

http://testsite/svn/sample_project がレポジトリのパスになります。これで、レポジトリのコピーが //mirror/sample_project に出来ます。まだファイルのコピーは行われません。 //mirror/sample_project に直接コミット・アップデートすることはなく、実際はこれのコピーを作成して管理するそうです。

ミラーのコピー(実際に作業を行う場所)を作成

$ svk copy //mirror/sample_project //sample_project

以上で、//sample_project というコピーが出来ました。これに対して実際の変更等を行っていきます。

ローカルにファイルをチェックアウト

$ svk co //sample_project

実際にファイルをチェックアウトしたい場所に移動して、上記のコマンドを実行します。これで、ローカルへのファイルがコピー(普通のチェックアウト)が完了します。

各種コマンドなど

アップデート
$ svk up
コミット
$ svk ci
中央のレポジトリと同期
$ svk sync //mirror/sample_project
コピーをミラーへコミット
$ svk push //sample_project
コピーをミラーでアップデート
$ svk pull //sample_project
各種プロパティを設定
$ svk propset [SVNのプロパティ値]

pull と push の使い方が実は良く分かってない。

SVKの使い方