始めに
これまで度々、「環境変数ってなんや?」って思う機会がありましたが、Linuxコマンドに慣れていなかったり、Vimの使い方がさっぱりだったりして全く手がつけられませんでした。
プログラミングを勉強し始めて6ヶ月弱、ようやく環境変数について少し分かったので、備忘録として書いておきます。
[参考にさせていただいたサイト]
http://qiita.com/soarflat/items/09be6ab9cd91d366bf71
http://qiita.com/soarflat/items/d5015bec37f8a8254380
環境変数とは?
「環境変数」=「SHELLでコマンドとして打てる文字の一覧を示したパスの集合」と理解しています。
少しずれているかもですが、これが一番しっくりきた説明です。
JSとかでたまに ($this) のような変数を見かけますが、それと同じで、 $PATH も変数で、コマンドとして使える文字(例えば pip とか pyenv , rbenv)などのような文字の一覧を書いた箇所までのパスの一覧です。
$PATH に何が入っているかをみるためには
$ echo $PATH
とすればよく、僕の環境では
/Users/username/.pyenv/shims:/Users/username/.pyenv/bin:/Library/Frameworks/Python.framework/Ver
sions/3.6/bin:/Users/username/anaconda/bin:/usr/local/share/npm/bin:/Users/username/.pyenv/shims
:/Users/username/.pyenv/bin:/usr/local/share/npm/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbi
n
と出力されました。
: を境にして、いくつかのパスが記述されているのがわかると思います。
試しに、 Users/username/anaconda/bin (これは ~/anaconda/bin と同じ)をのぞいてみると...
こんな感じで使えるコマンドの一覧が見えます。
Pythonユーザーは分かると思いますが、 django-admin とか jupyter-notebook とかよく使うコマンドが書いてありますね。
Mac(に限らない?)のディレクトリ構成
もう一つ、これまで環境変数がわからなかった原因と
して、 usr/bin とかの usr ってどこやねん!って思っていたことが挙げられます。
これまでディレクトリは Users から始まると思っていたのですが、 Users 配下にいるときに恐る恐る
$ cd ../
$ ls
をしてみると...
ありました!!!!!
なんとここにあったのか usr よ!って感じですね。
ログインシェルをZshに変更する
最後に、ログインシェルをZshに切り替える時の説明をして終わりたいと思います。
[参考にしたサイト]
http://ba-kgr.hatenablog.com/entry/2015/03/24/211031
Zshが何か正直よく分かってませんが、「なんか便利なシェル」って感じのやつです。笑
シェルをZshに変えることで、シェルでの作業がやりやすくなります。
$ brew update
$ brew install zsh
で、Zshをインストールしましょう!
インストールしたZshは usr/local/bin/ に保存されます。
次に、Zshを便利にするため、設定ファイルをいじって行きます。
$ vi ~/.zshrc
Vimですね。僕は普段Atomしか使わないので、一時期こいつに苦しみました...今はようやく親みが湧いてきて、宗教戦争に参加しようかと考えたりしてます。笑 (Vim側で)
その場で i を押すと、 INSERT MODE となり、書き込めるようになります。
僕はインターン先のエンジニア先輩に設定ファイルをもらって、いらない部分を削ったり、いる部分を追加したりして書きました(公開していいやつかわからないので、いいやつだと分かったら公開します)。
[参考になるサイト]
http://d.hatena.ne.jp/oovu70/20120405/p1
こんな感じで設定を書きます。
書き終わったら、 :wq をその場で叩いて保存してVimを終了します。
$ source ~/.zshrc
と叩いて設定を反映します。
次に、
$ sudo vi /etc/shells
として、アクセス可能なシェル一覧に、先ほどインストールした usr/local/bin/zsh を追加しましょう。
i で INSERT MODE 、以下のように記述して、 :wq で保存して終了します。
ここでは重要な?ファイルに変更を加えるため、 sudo (superuser do)と、管理者権限で変更します。
最後に、ログインシェルを変更します。
$ chsh
と叩くと、パスワードが要求されるので、macにログインするパスワードを入力します。
INSERT MODE にして、 Shell の欄を /usr/local/bin/zsh に変えましょう!
これで次からターミナルを起動した時はZshが起動するはずです!
ここまでやれば割と理解した気になれると思います(僕はなれました)。笑