始めに
これまで度々、「環境変数ってなんや?」って思う機会がありましたが、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が起動するはずです!
ここまでやれば割と理解した気になれると思います(僕はなれました)。笑