Macのbash_profileとzshrcの違い(Mac CatalinaへのAnacondaインストールではまった話)

お勉強

Macのターミナルを触っていると、「bash」「zsh」という2つのシェルの話が出てきます。
しかし、そもそもシェルってなんだ?というところからよくわからず、結局今何が動かしているのか、自分のPCがどうなっているのかもよくわからなくなったので、今回はシェルについて調べたことをメモしておきます。

※先日macにanacondaをインストールした際に、「ターミナルからanacondaを起動するため、シェルにパスを通す必要がある」の部分で苦心したので、「anacondaをmacOS Catalinaにインストールする際の設定」を題材にメモします。

そもそもシェルって何?

シェルとは、ユーザの入力をPCが読めるように翻訳してくれるものです。
「2つ以上のシェルを同時に動かせない」という制約があるため、ターミナルを立ち上げると、bashかzshかどちらかが起動されている状態になります。
MacOSではCatalina以前はbashがデフォルトだったのですが、Catalina以降はzshに切り替わっています。

使用中のシェルを確認する

まずは使用中のシェルが何か確認しましょう。
以下のコマンドを実行すると、今使っているシェルが何かわかります。

echo $SHELL

anacondaのパスをシェルにパスを設定する

使っているシェルがわかったらシェルの設定ファイルを変更します。
bashかzshかによって設定ファイルが異なるので、以下自分が使っているほうを確認して設定しましょう(最近のmac OSではデフォルトでzshになっています)

zshの場合

.zshrcが設定ファイルになります。以下のコマンドを実行して設定ファイルを起動しましょう。

open ~/.zshrc

起動したら「export PATH=”/Users/[ユーザー名]/opt/anaconda3/bin:$PATH”」という記述を追記します。
ターミナルを再起動すると、上記の設定ファイルがリロードされ、anacondaがターミナルから使用できるようになっていると思います。

bashの場合

.bash_profileが設定ファイルになります。以下のコマンドを実行して設定ファイルを起動しましょう。

open ~/.bash_profile

起動したら「export PATH=”/Users/[ユーザー名]/opt/anaconda3/bin:$PATH”」という記述を追記します。
ターミナルを再起動すると、上記の設定ファイルがリロードされ、anacondaがターミナルから使用できるようになっていると思います。

(おまけ)使えるシェルを調べる

シェルはbashとzsh以外にもいくつか用意されています。以下のコマンドから使えるシェルの一覧を確認できます。

cat /etc/shells

(おまけ)シェルを切り替える

所定のシェルに変更したい場合は以下のコマンドで変更できます。(以下はzshに切り替える例)

chsh -s /bin/zsh

コメント