zsh
文書の過去の版を表示しています。
zsh
設定ファイル
| ファイル | ロードされるタイミング | 用途 |
|---|---|---|
| ~/.zshenv | いつでも | 定期実行されるスクリプトなどでも使用したい環境変数 |
| ~/.zprofiole | ログインシェルとして起動した時 | 環境変数の設定 |
| ~/.zshrc | インタラクティブシェルとして起動した時 | エイリアス、補完、オプション、シェルプロンプトの設定など |
| ~/.zlogin | ログインシェルとして起動した時 | .zshrc実行後に設定されて欲しい環境変数 |
zshを起動すると、この表の上から順に読み込まれる。
zprofileとzshrcを使うのが基本。zloginが必要になる場面はあまりない。zprofileには環境変数を設定、zshrcにはインタラクティブシェル(ターミナル上の対話式CLI、黒い画面でカタカタコマンドを打つと言われてイメージする使い方)で必要な設定を記述する。
bashとの違い
変数でのスペースの扱い
bashではスペースを含むと別単語として展開される。““で囲むとひと塊りの文字列として展開される
$ w="echo hoge" $ $w hoge fuga $ "$w" echo hoge fuga: command not found
zshではスペースを含んでいてもひと塊りの文字列として展開される
$ w="echo hoge fuga" $ $w zsh: command not found: echo hoge fuga
変数のみで配列全体を表現
bash
$ A=(a b c)
$ echo $A
a
$ echo ${A[@]}
a b c
zsh
$ A=(a b c) $ echo $A a b c
セパレータを変更できる。IFSの変更が不要
$ A=(a b c)
$ echo ${(j/,/)A}
a,b,c
zsh.1771915585.txt.gz · 最終更新: by nullpon