PowerShellを使ってみました(1)

さっそくPowerShellを使ってみました。
基本コマンドはdosunixコマンドを大体網羅しているようです。調べてみるとどうやら基本的なコマンド(Cmdletというらしいのですが)は別にあって、それのaliasとして各種コマンドが別名定義されている様子。なるほどなるほど。


aliasと言えば、学生時代にlsと打とうとするといつもslと打ってしまって悔しい思いをしてた事を思い出します。しかもcommand not foundみたいな冷たいメッセージでびしっと怒ってくれれば「次から気をつけよう」と思えるのですが、たまにsu?みたいに別の候補を提示してくれる時があります。
# たしか環境変数か何かをセットする必要があったと思うのですが思い出せませんでした....

私はその機能が大嫌いでログインスクリプトでいつも明示的に無効にしてたのですが、ある日aliasの存在を知り、ログインスクリプトの中で

alias sl='ls'

と設定しました。するとslと打ってもlsの結果が出てきてあら便利。別にオチも何もありませんが、とても嬉しかったので7年経った今でもその時の興奮は忘れられません。


と、話がずれました。aliasは便利だねというお話。


PowerShellを使ってみて感じたのは、対話形式で動作出来るしアセンブリを読み込む事もできるし、WSHのようにCOM,ActiveXオブジェクトを使用する事も出来ます。もちろんWMIだっていけます。これだけの機能がコンパイル無しで実行出来るのは素晴らしいと思います。いちいちVS.NETを起動しなくていいし、コンパイルをする必要もありません。
ただ、実行環境があまりに限定され過ぎてて一体どこで使えばいいのか分からないのです。スクリプトの良さは開発環境が不要であり、客先等で不測の事態にも柔軟に対応出来るという点だと思います。そういった点でDOSコマンドラインWSHなんてのはかなり使いやすいインフラとして十分に役立ってくれます。

PowerShellがそのくらいの役割を果たしてくれるようになるまでには、あと3年では厳しいかも知れません。が、いつか来るそのときを目指して少しずつ慣れておこうと思います。それまではあくまで開発者の自己満足を満たすためだけに使うしか無いですね。