「パスが通ってない問題だと思ったらターミナル再起動で解決」のしくみの初心者メモ
環境変数はいつ呼ばれているか
rbenvでrubyをインストールした時にそのままログイン状態ではバージョン確認できず、再ログインしたらバージョン確認できた のはなんでか。
ターミナルを起動した時には.bashなんちゃらとかが呼ばれて実行されており、
例えば
.bash_profile
とかがプロンプト出す前にもう呼ばれている。
試しにホームディレクトリで
$ vim .bash_profile
する。
echo 'aaa'
を書き込んでターミナル再起動してみる(Command+Nでok)。
すると
Last login: Mon Sep 10 21:24:47 on ttys001
aaa
HelloJTokyo:~ xxxxxx$
こんな感じでプロンプト出る前に aaa が出力されてる。
つまり、ログインしてるターミナルで環境変数いじっても、そのままではそのターミナルには反映されない。
ログインし直すと変更が反映されて読み込まれる。
$ rbenv global
で環境変数が変わったけど、変わった環境変数がまだ読み込まれてないターミナルでは反映されていない。だから再ログインする。
ログインしながらに新しい環境変数ロードするには(どこに当該環境変数が書かれてるか分かってたら、例えばそれが.bash_profileだったら)$ source .bash_profile
する。そうすると直ちに読み込まれる。
ちなみに $ . .bash_profile
でも意味は同じ。
余談
.bash_historyに書かれていること
今まで打ったコマンドラインが記録されてる。
↑↓で出てくるヒストリはこれを順番に出力してるだけ。
ファイルにechoを書いて目印にする
今これが呼ばれて実行されたよ。を知るために、ファイルに
echo 'このファイル名'
を書いとく。便利。確認したら消すの忘れず。
「分からない」という状態に慣れよう
「分からない」状態を受け入れるマインドを持っとかないとハードモード。
コマンドラインの気づき
$ ls -a -l
は、シンプルに
$ ls -al
で良い。
Author And Source
この問題について(「パスが通ってない問題だと思ったらターミナル再起動で解決」のしくみの初心者メモ), 我々は、より多くの情報をここで見つけました https://qiita.com/hellojtokyo/items/e47baa227820a3f69fed著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .