この記事では、
exportコマンドでPATHを通す(export PATH=$PATH:コマンド検索パス)が何を意味しているかを解説する。
exportコマンドとは
まずはexportと言うコマンドについて、
exportコマンドは、以下のことができるコマンドのことだ。
- 環境変数の表示
- 環境変数の設定
環境変数の表示
ためしに「export」とだけコマンドを打ってみて欲しい
>export
declare -x HOME="/Users/hara-chan"
declare -x LANG="ja_JP.UTF-8"
declare -x LOGNAME="hara-chan"
declare -x LaunchInstanceID="4E8AD269-E874-4AEF-ABF3-AC13E8C95773"
declare -x OLDPWD="/Users/hara-chan"
declare -x PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/share/dotnet:~/.dotnet/tools:/Library/Apple/usr/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands"
declare -x PWD="/Users/hara-chan/Desktop"
declare -x SECURITYSESSIONID="186a9"
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
declare -x SSH_AUTH_SOCK="/private/tmp/com.apple.launchd.JM26hzU/Listeners"
declare -x TERM="xterm-256color"
declare -x TERM_PROGRAM="Apple_Terminal"
declare -x TERM_PROGRAM_VERSION="433"
declare -x TERM_SESSION_ID="36FE5640-7C93-41E3-BB01-24190D8C36BA"
declare -x TMPDIR="/var/folders/sc/h3pcytz14dj0mykzp5sl6w7m0000gn/T/"
declare -x USER="hara-chan"
declare -x XPC_FLAGS="0x0"
declare -x XPC_SERVICE_NAME="0"
上記のようにすでに設定済みの環境変数の一覧が表示される。
環境変数の設定
環境変数に値を設定する場合は、
「export 環境変数名=値」のようにして行う。
#環境変数DESKTOPに、/User/hara-chan/Desktopと言う値を設定
export DESKTOP=/Users/hara-chan/Desktop
※環境変数は元からあるものを上書きもできるし、
上記のように新しい環境変数(DESKTOP)を作成することも可能だ。
設定した環境変数は「$環境変数」とすることで値を参照できる。
> echo $DESKTOP
/Users/hara-chan/Desktop
環境変数PATHとは
環境変数PATHとは、
コマンド実行時、入力したコマンドの実行ファイルを検索しにいくパス情報を保持している環境変数だ。
declare -x PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/share/dotnet:~/.dotnet/tools:/Library/Apple/usr/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands"
一つ一つのパスは「:」区切りで登録されている。
ここにパスを登録しておくことで、コマンド実行時に実行ファイルを登録済みのパスから検索して実行してくれるので、コマンドは短く入力できるのだ。
# 例) lsコマンド実行
> ls
# システムで実際に実行された実行ファイル
/bin/ls
→環境変数PATHに登録されている/bin/にlsが見つかったため実行された。
「export PATH=$PATH:コマンド検索パス」が何を意味するか
上記を踏まえて「export PATH=$PATH:コマンド検索パス」が何を意味するかと言うことだが、要は「環境変数PATHに、新しいコマンド検索パスを追加しているだけ」だ。
# export PATH=値の書式だよね
export PATH=$PATH:コマンド検索パス
「$PATH(元々の環境変数PATH)」+「:(パスの区切り文字)」+「検索パス」 と言う構造になっている。