sh/bash/zsh を一緒に使用する場合のシェルプロンプト (PS1) の正しい配置

sh/bash/zsh を一緒に使用する場合のシェルプロンプト (PS1) の正しい配置

私はdash(sh)、bash、またはzshを使用しています。可能であれば、公共の場所に置くことをお勧めします。

シェルと対話するときに正しいPS1設定が必要なので、この状況を考慮する必要があります。

  1. ログイン(PS1表示)
  2. Sudo
  3. スクリプト(PS1は表示されません)

PS1を.bashrcに入れましたが、常に動作するわけではありません。

ベストアンサー1

各シェルには独自のエスケープシーケンスがあるため、各PS1シェルに対して個別に設定する必要があります。さらに、PS1これは対話型シェルにのみ適しており、他のプログラムでは使用されません。したがって、PS1シェルのインタラクティブな起動ファイルを置きます。

  • ~/.bashrcバッシュ用
  • ~/.kshrcケシュの場合
  • ~/.zshrczshの場合

.bashrcBashには珍しい点があります。ログインシェルではロードされず、thisのみロードまたは~/.bash_profileロードされません~/.profile。この問題を解決するには、次の行をに入力してください~/.bash_profile

if [ -e ~/.profile ]; then . ~/.profile; fi
case $- in *i*) . ~/.bashrc;; esac

シェル設定ファイルの詳細については、次を参照してください。すべてのシェルが読める「.bashrc」に対応するファイルはありますか?

おすすめ記事