#環境変数PATHとは
- コマンドを実行するプログラムが保存されているディレクトリの場所を設定する変数
流れ
###1. whichコマンドでコマンド実行ファイルの場所を確認
% which pwd
/bin/pwd
% which ls
/bin/ls
###2.exportを使用し、PATHを通す export PATH=$PATH:[コマンド実行ファイルへのパス]
mac$ export PATH=$PATH:/Users/mac/Documents
mac$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/mac/Documents
mac$ pwd
/Users/mac
mac$ composer.phar -V
Composer version 1.8.0 2018-12-03 10:31:16
→ exportコマンドで実行した設定は一時的なもので、別のターミナルを起動するとその設定は解除されてしまう。
###3..bash_profileファイルに環境変数PATH設定
1.MACインストール直後は.bash_profileは存在しないので、下記のコマンドを使用して.bash_profileを作成。
そのファイルの中にexportコマンドの設定を記述する。
mac$ echo 'export PATH=$PATH:/Users/mac/Documents' >> .bash_profile
(注)使用シェルがzshの場合は~/.zshrcにパスを通す。
###/usr/local/binへの実行ファイルの保存(裏技)
exportコマンドを使用して、環境変数PATHの追加を行ったが、環境変数PATHに追加するのではなく、事前に環境変数PATHに設定されている/usr/local/binに実行ファイルを保存するという方法もある。その場合は、.bash_profileの作成も必要ない。
MACではインストール直後では、/usr/localにbinディレクトリは存在しないので作成を行う。作成完了後に実行ファイルを保存する。
ただしこの場合、アクセス権の問題で管理者のパスワードが必要となるため、通常のユーザでは作成できない。
mac$ mkdir /usr/local/bin
mkdir: /usr/local/bin: Permission denied
管理者権限で作成するためにsudoコマンドを利用. binディレクトリを作成後、コマンド実行ファイルをbinディレクトリに保存。その際も管理者権限が必要となる。
mac$ sudo mkdir /usr/local/bin
Password:
mac$ sudo mv composer.phar /usr/local/bin/composer
/user/local/binに保存できれば、どこのディレクトリからも実行が可能.
###おまけ
######環境変数を一覧表示(printenv)
% printenv
TERM_PROGRAM=Apple_Terminal
SHELL=/bin/bash
TERM=xterm-256color
TMPDIR=/var/folders/5h/bxvtcnj978dfmqwdkr59xvj40000gn/T/
Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.FWsThb4MSd/Render
TERM_PROGRAM_VERSION=421.1
TERM_SESSION_ID=A16EEA5A-E4A8-4F62-99B9-2CE967439E34
USER=mac
SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.SI0Id5ua6b/Listeners
PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
PWD=/Users/mac
LANG=ja_JP.UTF-8
XPC_FLAGS=0x0
XPC_SERVICE_NAME=0
SHLVL=1
HOME=/Users/mac
LOGNAME=mac
SECURITYSESSIONID=186a8
_=/usr/bin/printenv
######echoコマンドによるPATHの確認
echoコマンドにより個別の環境変数の設定値を確認。
% echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin