mac Linux 環境変数 PATH変数 設定方法

相変わらず、現場の都合などでmacで作業を行うことが多いです。

そうなると、bashを扱ったり、

windows環境のみで作業を行なっていた時には、

あまり意識していなかったことが、ハマりどころになったりします。

 

特に、新しい技術の調査を行う時には、

色々とツールをインストールするのですが、

その場合、環境変数・PATHの設定をほぼ確実に行うことになります。

Windowsは、何回もやっているので、特に迷わずできるのですが、

久々に、mac・Linuxを触ると毎回調べている気がするので、

今回は、設定ファイルについて、簡単にまとめておこうと思います。

 

しすろぐ – macタグ –

 

mac Linux(環境変数・PATH)設定方法について

色々な情報を省いた結論を書いてしまいますと、以下となります。

 ~/.bashrcに設定を記述する

具体的には、

 

vi ~/.bashrc

 

export PATH=$HOME/.nodebrew/current/bin:$PATH

※設定したい内容に変更します。(こちらは、nodebrewを設定した時のもの)

 

source ~/.bashrc

とかやります。

~/.bash_profileにも設定可能ですが、色々と不都合があります。

記述方法は、以下となります。

export PATH=$PATH:追加したいコマンド検索パス

どのprofileに設定する場合も、同じ記述方法となります。

 

~/.bash_profileに記述した場合

設定を行なった後、ログオフを行うと設定が無効となります(再度、読み込みを行う必要があります)。

同じ設定を有効にする場合、ログインをし直すたびに、反映させる必要があります。

試しに設定する場合は良いですが、毎度、反映をさせるのは面倒です。

 

よく、ツールの導入手順などをネットで見ていると、

以下のコマンドを入力してPATHを通すみたいな説明が乗っているのですが、

source ~/.bash_profile

直後は、問題なく動いても、しばらくしてからログインした時に、

動かなくてバージョン情報すら見れなくなり、慌ててしまうということが良くあります。。。

気をつけたいと思います。

 

~/.bashrcに記述した場合

~/.bash_profileと異なり、再度ログインを行なっても設定がキープされます。

ただし、ターミナル以外から起動するプログラム(GUI起動など)に、

環境変数が引き継がれないため注意が必要です。(引き継がせる場合は、~/.profileに書く)

bashでしか使わないものを記述する分には、問題が無いと思われます。

 

余談ですが、~/.bashrcには、

標準出力や標準エラーが発生しないように設定します。

rsyncしようとした時にエラーになったりハマりやすいので、

出力系だけは、行わないようにします。

 

~/.zshrcに記述した場合

ログインシェルとインタラクティブシェルで実行したい場合に、記述を追加します。

シェルスクリプトでは実行されません。

※ログインシェル

簡単に言うと、オプション - または --loginを付与して実行するシェルです。

※インタラクティブシェル

簡単に言うと、オプション-cを付与しないで、通常実行するシェルです。

オプション-cをつけると非インタラクティブシェルになります。

https://www.gnu.org/software/bash/manual/html_node/Invoking-Bash.html

 

~/.zprofileに記述した場合

~/.zprofileには、ログインシェルで、1度だけ読み込ませたい場合に記述を追加します。

 


 

以上となります。

linuxも色々と設定が出来て奥が深いのですが、

その分、気をつけて設定を行わないと、

色々と思わぬエラーを読んでしまうことになりますので、

気をつけて設定を行なっていきたいと思います。

 

ubuntulinux

RedHat Linux


都内でエンジニアをやっています。 2017年に脱サラ(法人設立)しました。 仕事で調べたことや、気になったことをメモしています。
投稿を作成しました 139

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連投稿

検索語を上に入力し、 Enter キーを押して検索します。キャンセルするには ESC を押してください。

トップに戻る