作曲・浄書・指導・音響

金沢音楽制作

金沢音楽制作では、楽曲・楽譜の制作と、作曲や写譜などレッスンを行っています。

macOSのプロファイルについて

macOSでプロファイルがどの順番で呼び出され、パスが評価されるのか調べてみた。macOSは一般的なLinux(設計次第。たとえばUbuntuには~/.bash_profileが標準で存在しない)と比較すると、どこでパスが通されているのか少し分かりづらいと感じたので、その確認。

結論。~/.bash_profileで設定した覚えのないパスは、path_helperで評価されている可能性がある。

環境:macOS Big Sur、bash 5.1.16

大きく2つのプロファイルが読み込まれる

macOSでは、次の2つのプロファイルが基本となる。共通のプロファイルである/etc/profileとユーザーごとのプロファイルである~/.bash_profileだ。この2つのプロファイルが中心となって、それぞれの中で更に細かいプロファイルが読み込まれるのだが、その読み込まれ方がLinuxと異なっている。

  1. /etc/profile
    • /etc/paths
    • /etc/paths.d
    • /etc/manpaths
    • /etc/manpaths.d
    • /etc/bashrc
  2. ~/.bash_profile
    • ~/.bashrc

/etc/profileを確認すると、まずpath_helperというコマンドが実行されたのち、/etc/bashrcが読み込まれている。

path_helperは、/etc/paths/etc/paths.dを、そしてコマンドのマニュアルである/etc/manpaths/etc/manpaths.dが読み込まれる。

$ cat /etc/profile
if [ -x /usr/libexec/path_helper ]; then
	eval `/usr/libexec/path_helper -s`
fi

if [ "${BASH-no}" != "no" ]; then
	[ -r /etc/bashrc ] && . /etc/bashrc
fi

コマンドの基本的なパスは、/etc/pathsに、TeXやmonoといった個別のアプリケーションのパスは/etc/paths.dにファイルとして格納されている。ファイルの中身はそのパスが記述されているだけである。

$ cat /etc/paths
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
$ ls /etc/paths.d
dotnet  mono-commands  TeX  dotnet-cli-tools
$ cat /etc/paths.d
/Library/TeX/texbin

更新情報

  • 公開日:2021-01-12