macのbashでもglobstarを使いたい
macのbashはバージョンが古いそうです。色んなものが古いよね、macって。 そんなわけで、新しい機能は使えなかったりします。
**/*.txt
とかやるとカレントディレクトリ以下の.txtファイルを列挙してくれるglobstarっていう機能はめちゃめちゃ便利なのですが、これもやっぱり使えません。残念。
というわけで、使えるようにしてみました。
とりあえず、homebrewで新しいbashを入れる。
$ brew install bash
多分macportsでも入るのでお好みで。
無事bashが入ったら、/etc/shells
にパスを追記します。
$ cat /etc/shells # List of acceptable shells for chpass(1). # Ftpd will not allow users to connect who are not using # one of these shells. /bin/bash /bin/csh /bin/ksh /bin/sh /bin/tcsh /bin/zsh /usr/local/bin/bash
多分こんな感じになる。
最後に、ユーザのデフォルトシェルとして設定する。
$ chsh -s /usr/local/bin/bash
パスワードを聞かれるので、答えたら設定出来るはず。
non-standard shell
とか言われたら、/etc/shellsの設定が間違っているので確認してください。
設定が完了したらターミナルを再起動してみて、
$ echo $BASH_VERSION
とかすると、新しいバージョン番号が表示されるはずです。
あとは
$ echo shopt -s globstar >> ~/.bash_profile
とかでしてお好みの設定をどうぞ。
参考: » Get yourself globstar, bash 4 for your Mac terminal Mister Morris