Rubyのsystemメソッドでllコマンド呼んだら
Linux用に.irbrcファイルちょいちょい書き換えてテストしてたら、
def ll system("ll") end
C:\>irb irb(main):001:0>ll => true irb(main):002:0>
出ない。
エラーは出ないけど、うまく表示されない。
llって正規のコマンドじゃないんだっけ?
と思って調べたら、
aliasとやらでls -lをaliasってので対応させてたんだね。
基礎知識ながら勉強になった。
参考
[【 コマンドに別名を付ける 】 - Linuxコマンド逆引き大全:ITpro]
http://itpro.nikkeibp.co.jp/article/COLUMN/20060228/231004/?ST=oss
って事は、aliasによって定義されてるコマンドは呼べない予感かー。
それで覚えてるとirbrcでメソッドとして定義はできないなぁ。
調べながらやればいいんだろうけれども。
ひとまずllコマンドとしてirb上から動かしたいなら
def ll system("ls -l") end
こうしたら動きそうだね!(まだ確認はしていないけど、多分動くでしょう)
今日やりながら気付けなかったので、明日覚えてたらちょろっと対応する。
どうでもいいけれど、
vi、vimまたはemacsなんかもどれかしっかり使えるようにしたい。
起動と保存と終了くらいしかわからない。
カーソル移動とか削除とか、そういうのもパパッと出来るように使い慣れるようにしなきゃ。
emacsってのも名前よく聞くし、きっと同じような使い勝手でもうちょい使いやすいのかな!?とノリで起動したら終了コマンドぜんぜん違くて、
「:wqで終わらない!やばい!どうやって終わらせるんだこれーーー」
と困惑しながらぐぐりました。お恥ずかしい。
あとscreenコマンドも便利そうなので、ある程度使いこなせるようにオプション覚えていったりしたいなって思う。
これはぐぐっても今ひとつピンとこなかったから、知識ゼロな自分は色々調べないとすぐには実につけられないかもなぁ。
そのうち暇を見つけて、前職とか技術系の知人にscreenコマンドのイイ感じの使い方を伝授してくれ!って頼んでみようかなw
さて、寝よう。