ダークサイドにようこそ!

限界クリエイターのブログ

Macにおけるシェルと環境変数やパス周辺の備忘録

「今更そんなこと……」と思われそうなんですが、定期的に忘れて検索する現実に向き合って記事に残します。何かあるたびに追記する予定。

 

シェルの確認

ターミナルで以下コマンド or タイトルバーで確認。「macOS Catalina(2019年)」より標準でzsh

echo $SHELL

シェルってなに?bashとzsh、自分のMacはどっちを使ってるの? | eureka

 

シェルにおける設定ファイルの扱い

前提。

  • rc:シェルを起動するたびに読み込まれる。
  • profile:シェルにログイン時、一度だけ読み込まれる。

上記を踏まえた上で、zshbashで分かれている。この辺がゴチャゴチャに混ぜて書かれている記事もあり危険。

  • 「.zshrc」と「.zprofile」
  • 「.bashrc」と「.bash_profile」

ホームディレクトリにある設定ファイルをvimテキストエディター等でいじる。環境変数はprofileに書く方が良さそう。パスは.zshrcに追記することが多いっぽいが場合による。.zshenv(ログインシェル、インタラクティブシェル、シェルスクリプトどれでも必要な定義を設定)もあるが、今のところ自分の環境でいじる必要はなさそう。この辺の話はまだちゃんと理解できていない(細かく使い分ける必要がある場面にまだ遭遇してない)。

[bash, zsh] profileとrcの使い分け問題で、なぜ「とりあえず全部profileでok」と思われがちか。そもそも「全部profile」は本当にダメなのか - Qiita

zshrcとzprofileについて - gallardo diary

mac zsh(シェル)について

 

設定ファイルを作成(未作成の場合)

以下コマンドを実行(.zprofileの場合)。

touch .zprofile

ファイルが存在するか確認する場合は以下。

ls .zprofile

vimで編集する際のメモ。

  • ファイルを開く「vim .zprofile」
  • インサートモードに入る「i」
  • ノーマルモードに戻る「esc」
  • 保存して終了「:wq」

 

パスの確認

以下コマンドを実行。複数のパスが「:」で区切られて表示される。「env」コマンドでPATH=~の行を確認してもよい。

echo $PATH

 
環境変数やパスの追加(パスを通す)

設定ファイル内に以下の行を追加する。「$PATH:」を書くのは既存のパス設定を維持したまま新しいパスを追記するため。

export PATH=$PATH:hoge

export 環境変数名=その値

MacOSX での PATH の通し方について解説 | だえうホームページ

 
追加した設定を反映する

以下コマンドを実行。

source .zprofile

 
そもそもな話

support.apple.com

qiita.com

qiita.com

reffect.co.jp

zenn.dev

 
余談やメモ
  • Macに自分でも把握できないぐらいのTensorFlow(複数環境、バージョンetc)が入っており困った経験がある。openFrameworksでTensorFlowを動かそうとしたのが原因。M1 Macになってからローカルでの開発がより億劫になり、ほぼColab上で済ませるようになった。
  • M1 Mac にMiniforge でPython開発環境を構築している。でもDaVinci Resolve 18 のコンソール(Py3)を使うとき、バニラのPython3.10じゃないと認識しない的な投稿をBlackmagicのフォーラムで見た(気がする)。それがめちゃくちゃ嫌で作業を放置している。詳しい方いたら教えてください……

 

hahaeatora.hateblo.jp

hahaeatora.hateblo.jp

hahaeatora.hateblo.jp