このところ少し気になっていることがある。 Mac は Catalina から標準のシェルが zsh になる。 これまでは bash だったから、 新年度の入学生からシェルが変わるということだ。 それで何かこちらの対応が変わることはあるだろうか?
設定ファイルとかどうするのかな。今はどうなっているか知らないのだけど、 少し前の現象数理学科 Mac には .profile というファイルがあって、
.profile |
PATH=$PATH:~/bin export PATH # MacPorts Installer addition on 2014-03-04_at_11:03:51: adding an appropriate PATH variable for use with MacPorts. export PATH=/opt/local/bin:/opt/local/sbin:$PATH # Finished adapting your PATH environment variable for use with MacPorts. |
.profile でなくて、 .bash_profile という名前のファイルにすべきだったのでは? と考えなくもない。 そうすれば Anaconda 関係のドタバタを回避出来たのではないだろうか。
それと、最近は /etc/paths.d にファイルを置くのが普通のようだから、
/etc/paths.d/35-macports |
/opt/local/bin /opt/local/sbin |
それはさておき、zsh を使うことになるユーザーは、 安直にこの内容を .zshrc に書けば良いのだろうか?
cd cp .profile .zshrc |
(2019/12/28) .zshrc でなく、 .zprofile にコピーすべき、という意見を見た。 そちらの方が筋が通っているかも (ログイン・シェル用の設定ファイルだから)。
しばらくそれで生活してみよう。
これまで zsh 以外のシェルをログイン・シェルにしてきた人が、 自分のログイン・シェルを /bin/zsh に変更するには、 普通は
$ chsh |
今の3年生だと emacs を知っている人が多いので
$ export EDITOR=/usr/bin/emacs $ chsh |
困ったときはマニュアルを読む: man chsh
なるほど、
$ chsh -s /bin/zsh |
まとめ
こうして乗り換え生活を始める |
cd cp .profile .zprofile chsh -s /bin/zsh(これで次からターミナルで起動するシェルは zsh になる。 bash と zsh で設定ファイルの書き方が違うところもあるし、 うまく動かない可能性があるが、 その場合は chsh -s /bin/bash で元に戻せば良い。) |
余談 私は、日頃は tcsh で生活しているので、bash には疎く (学生の Mac に触るとき、普段と色々違ってもたつくので、 実は結構フラストレーションだったりする)、 シェル・スクリプト (#!/bin/sh で始めることにしている) を書くのは、 あまり得意でない。書くときはいつもネットで検索しながらなのだけれど、 最近余分な情報が増えてきて、検索に苦労するようになった。 「sh $$」とか、初心者はあまり調べそうもないけれど、 ある程度詳しい説明を書くときは必ず書くみたいなキーワードで検索すると良さそう。 以下はそうして見つけたサイトだけれど、書かれたのが結構古いのが、 ある意味でなるほどと思わせる (sh の文法なんて、ん十年変わっていないものね)。
おまけ
先日、csh と tcsh の新旧を勘違いしている発言を聞いた。 言い間違いかもしれないし、そんなのいまさらどっちでもいいことだけれど (現在はインストールされている csh の実体は tcsh だろうし)、 名前と開発時期の整理をしておくと
ここに来ての交代劇かぁ… zsh が開発されてからもうすぐ30年になるのは感無量 (zsh に乗り換えようかな?と思ったけれど、結局ずっと tcsh を使っている)。
桂田 祐史