LoginSignup
14
39

More than 5 years have passed since last update.

環境変数について / ログインシェルの変更

Last updated at Posted at 2017-06-13

始めに

これまで度々、「環境変数ってなんや?」って思う機会がありましたが、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 と同じ)をのぞいてみると...

スクリーンショット 2017-06-14 17.04.07.png

こんな感じで使えるコマンドの一覧が見えます。

Pythonユーザーは分かると思いますが、 django-admin とか jupyter-notebook とかよく使うコマンドが書いてありますね。

Mac(に限らない?)のディレクトリ構成

もう一つ、これまで環境変数がわからなかった原因と
して、 usr/bin とかの usr ってどこやねん!って思っていたことが挙げられます。

これまでディレクトリは Users から始まると思っていたのですが、 Users 配下にいるときに恐る恐る

$ cd ../
$ ls

をしてみると...

スクリーンショット 2017-06-14 0.21.43.png

ありました!!!!!

なんとここにあったのか 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 を追加しましょう。

iINSERT MODE 、以下のように記述して、 :wq で保存して終了します。

スクリーンショット 2017-06-14 0.50.02.png

ここでは重要な?ファイルに変更を加えるため、 sudo (superuser do)と、管理者権限で変更します。

最後に、ログインシェルを変更します。

$ chsh

と叩くと、パスワードが要求されるので、macにログインするパスワードを入力します。

スクリーンショット 2017-06-14 0.50.57.png

INSERT MODE にして、 Shell の欄を /usr/local/bin/zsh に変えましょう!

これで次からターミナルを起動した時はZshが起動するはずです!

ここまでやれば割と理解した気になれると思います(僕はなれました)。笑

14
39
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
39