Windowsに戻ったのでBash on WIndowsを使ってみたけどこれ大丈夫なんだろうか
正月休みということで、概してダラダラ過ごすわけですが、シロートとは言え世間のシステム管理者と同じく、ふだんできないいろいろねメンテナンスをやってみました。
まずGoogleのパスワード変更
それなりに難しいパスフレーズを使っていたので油断していましたが、各サイトやサービスのかなりのものがGoogleアカウントでシングルサインオンするようになっているので、二段階認証に加えて相当長いパスフレーズに変更してみました。
次にシステムバックアップです。昨今、多くの重要ファイルがクラウドに保管されている上に、リカバリも極めてかんたんですから昔ほど神経質にはやらなくなりましたが、一応お作法ということでやっておきました。
あと、昨年暮れにWindowsに戻ったいきおいで、ちょっと話題になったBash on Ubuntu on Windowsを入れてみました。
上のサイトに賢い人がまとめをしてくれていますので、それ以外に気になったことを書いてみます。
コマンド操作も指先が覚えている状態なので、MacやLinuxでファイル一覧を取るのに、lsとタイプするところ、Windowsだけdirとタイプしなければならないわけで、イラつくもとだったのですが、これでMac Windows Linuxがbashで統一されたことになります。
それはありがたいのですが、MacなりLinuxが端末でOSに全権を行使できるのに対して、Windowsの場合、いわゆるPOSIXなディレクトリは別のところにあるらしくて、自分の環境は /mnt/c というディレクトリにマウントされていて、そっちに移動して作業せねばならないあたりで少々戸惑います。
しかも、実態はどうあれdirコマンドは使えたりしますし、aptコマンドは正しくパッケージを持ってきてくれない、また、CUIからのアプリ起動はできないばかりか、次のような信じがたいメッセージを頂戴しました。(notepadの起動を試みた結果)
プログラム 'notepad' はまだインストールされていません。 次のように入力することでインストールできます:
apt-get install wine1.6
(Windows上のLinuxもどきでwineを使う人がどこにいるのでしょう?)
続いて、一番シンプルなスクリプト「hello表示」を書いてみました。
#!/bin/sh
echo "hello"
このスクリプトを適当な名前で保存したところ、すでに実行属性が付いていて、拡張子がなんであれそのまま実行できてしまうことがわかりました。
一般的なシェルスクリプトは書いただけではただのテキストファイルであって、実行属性を付けなければ動きません。
DOSの場合だと、なんでも良いから拡張子.batであればそれはバッチファイルとして振る舞いますが、Bash on Windowsの場合は、とにかくスクリプトの体裁になっていれば動く理屈ですから、実は割りと危険なのではないかという気がします。
そうしたわけで、これは一体だれがどのようにして使うのか、また、膨大にあるであろうdosのバッチファイル資産をどうするのか、謎のままです。
これから洗練されていくのか、はたまたかつてのWindows2000のように一度POSIX準拠にしてからまた引っ込めるのか。
今のところ自分のプライベートユーズでBash on Windowsを活用することはなさそうです。