ユーザ用ツール

サイト用ツール


zsh

文書の過去の版を表示しています。


zsh

設定ファイル

ファイル ロードされるタイミング 用途
~/.zshenv いつでも 定期実行されるスクリプトなどでも使用したい環境変数
~/.zprofiole ログインシェルとして起動した時 環境変数の設定
~/.zshrc インタラクティブシェルとして起動した時 エイリアス、補完、オプション、シェルプロンプトの設定など
~/.zlogin ログインシェルとして起動した時 .zshrc実行後に設定されて欲しい環境変数

zshを起動すると、この表の上から順に読み込まれる。

zprofileとzshrcを使うのが基本。zloginが必要になる場面はあまりない。zprofileには環境変数を設定、zshrcにはインタラクティブシェル(ターミナル上の対話式CLI、黒い画面でカタカタコマンドを打つと言われてイメージする使い方)で必要な設定を記述する。

rustvoltaをインストールするとzshenvが作成されて環境変数が書き込まれる。手動で編集する必要はほぼない

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