macOS Catalina さんが zsh にしろと言うので。

The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.

以前から macOS をお使いで Catalina へアップグレードした方が Terminal.app とかでログインすると、もれなく上記のようなメッセージが表示されると思いますが、これ、諸事情(ライセンスけど)あって Apple がデフォルトの shell を bash から zsh へ変更したことに起因します。

思えば、UNIX の類を使い始めた頃から bash を主に使ってきていまして、他所様のサーバーを使うときにもできるだけ bash を使ってきましたけども、こだわりがあるかと言うとそうでもなくて、普段触らないサーバーとかはそのサーバーのデフォルトの shell のままだったりもするし、これまでもいろんな人に勧められたり、噂で便利機能とかも聞いていたので、これを機会に変えちゃうかーと着手した次第です。いやまぁ、毎度毎度こんなメッセージ流されるのも面倒ですしね、消し方も書いてあったけど。

bash -> zsh

上記公式の通りなのですけど、私はこれを機会に「.profile の内容も見直しますかねぇ、大したこと書いてないけど」と思ったので、コピーして要らなさそうな部分を削除しました。多分ないと思うけど、bash へ戻そうと思ったときにもお手軽ですし。

zsh は基本的に bash の上位互換らしくて、そのままコピーした段階でも普通に大丈夫だったし、関係ないところも無視してくれている感じでした。これは zsh の機能じゃなくて .profile が POSIX 互換だからかもしれないけど。

history

history ね、依存しているのですよ、頭悪くて以前叩いたコマンドのことなんて綺麗さっぱり忘れているし、オプションだの何だのでちょっと長くなると入力するのも面倒だしで、

history | grep hoge

みたいなのを多用してました。

なので、.bash_history は私にとって大変大事な資産なのですけど、これも普通にリネームしてコピーしたら引き継がれました。ありがたいありがたい。

けれど、 zsh の history は少しだけ挙動も違って、全ての history を表示するには1を引数として与えなければならなかったりしますね。まぁ、すぐ慣れるでしょう。

でまぁ、こちらもいい機会なので設定を見直しましょう、と上記ページを参考にいたしまして幾つか拝借してごにょごにょ……。

とかでまぁ、普通に何事もなく使えている感じです、そもそもほとんどカスタマイズとかしていないので当たり前なのですけれども。

もろもろな便利機能とかにも興味だけはあるので、そのうち手を出していこうかなー、いきたいなー。

追記: 2020/02/04

+ peco

その後も history の設定を調べているうちに、peco と組み合わせるさらにエグいぞっていうことを知りましたが、流石にここまではいらないかなぁとか思って保留してます……。興味はあるのだけどねー、格好いいし。

この記事を書いた人

しもだ たくろう a.k.a. たくぅ

1996年くらいからこんなことをやっているのでそこそこおじさんです。一応今もWeb系の仕事はやっているぽい。実がないので口の方で煙に巻きます。「ぺちぱな。」ん。くず界のくず。 SW-2066-7468-5602🤔