どうも、はむばねです。
まだ資料はできてませんが、作業一段落したので今のうちに更新。
今日はこの後、どうせミーティング→帰宅→寝る→起きる頃には日付け変わってる、のコンボでしょうから。
みんな(いつも通り、一人を除いて火曜はウチのプロジェクトの四回生全員泊まり)寝てますが、私は昨日の夕方くらいまで寝てたのでまだ元気。
先週に引き続き、月曜(日付的には火曜)に一回帰ってるのはやはり大きいですね。
はてさて、更新するのは良いのですが。
今回は結構普通にゴリゴリ延々と作業やってたため、特に書くことないのが困りものです。
あぁアレだ、今回もヨーグルト500g食べましたよ。
ef観ながら。
今週のefは、特に後半が微欝っぽくて結構面白かったです。
いや、別に欝展開な好きなわけではないっていうかむしろ嫌いだったはずなんですが……
ちなみにお腹の方は大丈夫そう。
牛乳は1ℓあたりで結構キツいみたいですが、ヨーグルト500gは許容範囲内みたいです。
さて。
他に書くこともないので、心から需要がないのを承知の上であえて作業報告書きますね。
ある程度情報系に明るい方でないとわからない上、わかる方にとってはレベルが低すぎて面白い話でもないのでどうぞ次の段落は読み飛ばしてください。
まぁ読み飛ばしたところで、その次の段落なんてないんですけどね。
本日は、とにかく空転の日でした。
私の担当に、他の人が作ったプログラムをインタフェースから呼び出す部分があるんですけどね(研究とは全く関係ないけどな)。
そもそもの元凶は、その呼び出し先のプログラムがrshを使うだとかでルート権限でないと実効できないということ。
ルート権限に移行しようとすれば、コンソールからのパスワードの入力が必要となってきます。
これ、どうやって自動化するんだ……? と思ってググってみたら、やはり同じことで悩んでいる方はいるようで。
とりあえず真似して、シェルスクリプトでexpectコマンドとやらを打ってみる。
そしたら”そんなコマンドねーよ”とかほざくエラーが。
このままシェルスクリプトの方に突っ込んでいっても良かったのですが、perl学びたての私はperlの方がかっこよくね? という中二病全開の思想でperlのExpect.pmというモジュールに走りました。
これはこれでイマイチ使い方がわからなかったのですが、一応完成。
なんかエンター一回分多く押されてる気がするけど、ちゃんとルートにはなれてるので気にしない。
とにもかくにも、これでパスワード書いたファイルから勝手にパスワード読み取って自動的にルート権限に移行するプログラム完成。
意気揚々とphpから呼び出そうとするも、なんかエラーが返ってきてるっぽい。
……? コンソールから叩いて実行したら普通にできるんですけどね……?
何かしら私には知りえない大きな力が働いているのでしょう、ということでとりあえずphpで動かすのは諦める。
プログラムを呼び出すためのプログラムをphpで呼び出すことにします。
というわけで、そのプログラムを動かすシェルスクリプトを書いたのはいいのですけれど。
実行すると、プログラムどころかシェルごと死にやがった。
なんだこれ……というわけで、仕方なくまたperl様に頼ることに。
そしたら今度は上手いこと実行できました。
いやっほぅやったぜ!
後は、チェンジディレクトリして(相対パスを使っているため、実際にプログラムが存在するディレクトリで実行しなければいけないらしい。どんだけ制限多いねん)プログラムを実行するのみ!
もう完成したも同然だぜ!
……と、思いきや。
ルート権限移行後にプログラムの続きが実行されないよ?
その後色々試してみても、結局無理。
うんまぁよく考えたら、チェンジユーザしてるんだから前のユーザの処理が継続されないのなんて当たり前なんですけどね。
それとも、どうにかして継続させる方法もあるのでしょうか……?
とにもかくにも、ここで手詰まり。
さてどうしよう……と思ってググっていると。
sudo使ったら、死ぬほどあっさり終わりました。
perlで作ったプログラム、その時点で破棄。
なぜ、なぜもっと早く……いや、過ぎたことは何も言いますまい。
というわけで、今度こそやっふぅ終わったも同然だぜ!
……と、思いきや。
チ ェ ン ジ デ ィ レ ク ト リ で き ね ぇ
perl中から実行しようとすると、”そんなコマンドねーよ”とか言われます。
ないわけねーだろ……と思いきや、whichしても出てきやがらねぇ。
なるほど、実体じゃなかったのか……しかし、ならば実体はどこに?
と思ってググっていると、perlにchdirとかいう便利な関数があること発見。
だからなぜもっと早k(ry
これだからperl素人は……
とにもかくにも、これで今度こそこっちの作業は終了。
喜び勇んで、次の作業に移ります。
次の作業は前やった作業とほとんど同じ、むしろやること少ないので楽勝です……そう思っていた時期が私にもありました。
いや実際、基本的な処理自体はすぐに実装し終わったんですけどね。
同じ対象を指す名前が複数あったりするんで、その重複を無くしてみよう、というすぐ終わるはずだった思いつきに4時間ほど作業時間を費やしました。
しかも、うち1時間ほどがphpの$抜けミスに気付かずに過ごした時間。
くっそう、配列の添え字かよ……そんなの気付かねぇよ……
あと、phpの正規表現ってなんかおかしくね? なんで部分一致までとってくんの? という疑問が未だに離れません。
あれさえなかったらもっと簡単に実装が進んでたはずなのに……というか、たぶんそういう機能も私が知らないだけであるんでしょうけど。
これだからphp素人は……
と、皆が寝始める中音を消しながら作業したりした作業報告でした。
とにもかくにも、一段落してよかった……
まぁ、一つ問題があるとすれば今日やってたことは研究に一切関係ない部分ってことですかね。
本当にただの作業だぜ……
というような感じでした。
……ふぅ。
思ったよりというか、ありえないほど長くなりましたね。
まだ資料はできてませんが、作業一段落したので今のうちに更新。
今日はこの後、どうせミーティング→帰宅→寝る→起きる頃には日付け変わってる、のコンボでしょうから。
みんな(いつも通り、一人を除いて火曜はウチのプロジェクトの四回生全員泊まり)寝てますが、私は昨日の夕方くらいまで寝てたのでまだ元気。
先週に引き続き、月曜(日付的には火曜)に一回帰ってるのはやはり大きいですね。
はてさて、更新するのは良いのですが。
今回は結構普通にゴリゴリ延々と作業やってたため、特に書くことないのが困りものです。
あぁアレだ、今回もヨーグルト500g食べましたよ。
ef観ながら。
今週のefは、特に後半が微欝っぽくて結構面白かったです。
いや、別に欝展開な好きなわけではないっていうかむしろ嫌いだったはずなんですが……
ちなみにお腹の方は大丈夫そう。
牛乳は1ℓあたりで結構キツいみたいですが、ヨーグルト500gは許容範囲内みたいです。
さて。
他に書くこともないので、心から需要がないのを承知の上であえて作業報告書きますね。
ある程度情報系に明るい方でないとわからない上、わかる方にとってはレベルが低すぎて面白い話でもないのでどうぞ次の段落は読み飛ばしてください。
まぁ読み飛ばしたところで、その次の段落なんてないんですけどね。
本日は、とにかく空転の日でした。
私の担当に、他の人が作ったプログラムをインタフェースから呼び出す部分があるんですけどね(研究とは全く関係ないけどな)。
そもそもの元凶は、その呼び出し先のプログラムがrshを使うだとかでルート権限でないと実効できないということ。
ルート権限に移行しようとすれば、コンソールからのパスワードの入力が必要となってきます。
これ、どうやって自動化するんだ……? と思ってググってみたら、やはり同じことで悩んでいる方はいるようで。
とりあえず真似して、シェルスクリプトでexpectコマンドとやらを打ってみる。
そしたら”そんなコマンドねーよ”とかほざくエラーが。
このままシェルスクリプトの方に突っ込んでいっても良かったのですが、perl学びたての私はperlの方がかっこよくね? という中二病全開の思想でperlのExpect.pmというモジュールに走りました。
これはこれでイマイチ使い方がわからなかったのですが、一応完成。
なんかエンター一回分多く押されてる気がするけど、ちゃんとルートにはなれてるので気にしない。
とにもかくにも、これでパスワード書いたファイルから勝手にパスワード読み取って自動的にルート権限に移行するプログラム完成。
意気揚々とphpから呼び出そうとするも、なんかエラーが返ってきてるっぽい。
……? コンソールから叩いて実行したら普通にできるんですけどね……?
何かしら私には知りえない大きな力が働いているのでしょう、ということでとりあえずphpで動かすのは諦める。
プログラムを呼び出すためのプログラムをphpで呼び出すことにします。
というわけで、そのプログラムを動かすシェルスクリプトを書いたのはいいのですけれど。
実行すると、プログラムどころかシェルごと死にやがった。
なんだこれ……というわけで、仕方なくまたperl様に頼ることに。
そしたら今度は上手いこと実行できました。
いやっほぅやったぜ!
後は、チェンジディレクトリして(相対パスを使っているため、実際にプログラムが存在するディレクトリで実行しなければいけないらしい。どんだけ制限多いねん)プログラムを実行するのみ!
もう完成したも同然だぜ!
……と、思いきや。
ルート権限移行後にプログラムの続きが実行されないよ?
その後色々試してみても、結局無理。
うんまぁよく考えたら、チェンジユーザしてるんだから前のユーザの処理が継続されないのなんて当たり前なんですけどね。
それとも、どうにかして継続させる方法もあるのでしょうか……?
とにもかくにも、ここで手詰まり。
さてどうしよう……と思ってググっていると。
sudo使ったら、死ぬほどあっさり終わりました。
perlで作ったプログラム、その時点で破棄。
なぜ、なぜもっと早く……いや、過ぎたことは何も言いますまい。
というわけで、今度こそやっふぅ終わったも同然だぜ!
……と、思いきや。
チ ェ ン ジ デ ィ レ ク ト リ で き ね ぇ
perl中から実行しようとすると、”そんなコマンドねーよ”とか言われます。
ないわけねーだろ……と思いきや、whichしても出てきやがらねぇ。
なるほど、実体じゃなかったのか……しかし、ならば実体はどこに?
と思ってググっていると、perlにchdirとかいう便利な関数があること発見。
だからなぜもっと早k(ry
これだからperl素人は……
とにもかくにも、これで今度こそこっちの作業は終了。
喜び勇んで、次の作業に移ります。
次の作業は前やった作業とほとんど同じ、むしろやること少ないので楽勝です……そう思っていた時期が私にもありました。
いや実際、基本的な処理自体はすぐに実装し終わったんですけどね。
同じ対象を指す名前が複数あったりするんで、その重複を無くしてみよう、というすぐ終わるはずだった思いつきに4時間ほど作業時間を費やしました。
しかも、うち1時間ほどがphpの$抜けミスに気付かずに過ごした時間。
くっそう、配列の添え字かよ……そんなの気付かねぇよ……
あと、phpの正規表現ってなんかおかしくね? なんで部分一致までとってくんの? という疑問が未だに離れません。
あれさえなかったらもっと簡単に実装が進んでたはずなのに……というか、たぶんそういう機能も私が知らないだけであるんでしょうけど。
これだからphp素人は……
と、皆が寝始める中音を消しながら作業したりした作業報告でした。
とにもかくにも、一段落してよかった……
まぁ、一つ問題があるとすれば今日やってたことは研究に一切関係ない部分ってことですかね。
本当にただの作業だぜ……
というような感じでした。
……ふぅ。
思ったよりというか、ありえないほど長くなりましたね。