bash.bashrc の PS1 への変更はターミナルのプロンプトに反映されません

bash.bashrc の PS1 への変更はターミナルのプロンプトに反映されません

すべてのユーザーのプロンプトに日付と時刻を出力するようにしたいので、ファイルで次のように/etc/bash.bashrc設定します。

PS1='\D{%Y%m%d}-\t~\u@\h \$ '

システムを再起動し、ターミナルを開いてもプロンプトは変更されていないことがわかります。

すべてのユーザーのプロンプトを上記で定義したとおりに設定するには、どのファイルを調整する必要がありますか?

答え1

私のシステムでは、PS1 はホーム フォルダの にある bashrc スクリプトによって再度上書きされます。このファイルにそれを追加してみてください。ちなみに、これらの init ファイルとその他の init ファイルが評価される順序は、マニュアル ページのおよび~/.bashrcのセクションに記載されています。FILESINVOCATION

編集: を実行することで、bash の起動プロセスをデバッグし、私の診断が正しいかどうかを確認できますbash -x

すべてのユーザーに表示される問題を解決するには、スケルトン ディレクトリのユーザーごとの設定のみを編集します。/etc/skel/.bashrcそうすれば、 への変更がPS1新しく作成されたユーザーに有効になります。 これは、 PS1-overwriting を持つ既に作成されたユーザーには影響しません.bashrc。 これらのユーザーについては、 のユーザーごとの設定を編集 (またはそれらのユーザーに編集を依頼) して~user/.bashrc.、変更を追加するか、 PS1-overwriting コマンドを削除する必要があります。

関連情報