設定ファイルを実行せずにインタラクティブzshを起動する方法は.zshrc
?
試してみましたが、zsh -d -f -i
プロンプトが指定されたものと同じであるため、~/.zshrc
オプションが機能しないようです。
私はmacOS 10.15.4でzsh 5.8を実行しています。
答え1
zsh -d -f -i
-d
(暗黙的に-f
)と-i
(zsh
コマンドラインで実行するスクリプト/コードがなく、stdinが端末の場合はとにかく対話的に実行)は重複しますが、これは正しいです。
しかし、これは/etc/zsh/zshenv
まだ解釈されており、これを無効にする方法はないと思います。info zsh RCS
詳細より。
あなたの場合は、PS1
環境から継承されます。PS1
シェルをカスタマイズすることもできる多くの環境変数の1つです。
初期シェルにはrcファイルがなく、カスタマイズは環境変数(ユーザーが~/.profile
設定するか、~/.login
ログインシェルによって解釈されたもの)を介してのみ行われました。
シェルを構成するために使用される多くの変数があります。望むより:
info zsh 'Parameters Used By The Shell'
詳細(ただし、環境によって見つかった値は無視されます)。
これらの環境変数の一部(たとえばHOME
、、、、、、、PATH
などSHELL
)COLUMNS
はシェル以外の他の多くのプログラムで使用されるため、LANG
設定を解除したり設定解除を使用したりすることはおLC_*
勧めできません。env -i
この資料にリストされているほとんどの変数は環境に入れたくありませんが、環境で通常の~/.zshrc
シェル変数として宣言します。PS1
その一つです。PS1
多くのシェルではプロンプトのカスタム変数として使用されますが、構文はシェルによって大きく異なります。
PS1
残念ながら、一部のGNU / Linuxディストリビューションは、一部のシステム起動ファイルでこの変数を設定およびエクスポートし、bash
それをシェル(GNUシェル)構文に固有の値として定義します。つまり、bash
この環境とは異なる環境で実行するとPS1
ガベージが届きます。プロンプト。
PS1
環境から削除されたシェルを起動するには、次のようにします。
(unset -v PS1; zsh -f)
一部のenv
実装では、次のこともできます。
env -u PS1 zsh -f
環境変数なしで始めるには(上記のように、これはおそらく良い考えではありません):
env -i zsh -f