HISTTIMEFORMATが修正されました。 /etc/bash.rcまたは/etc/profileで? [コピー]

HISTTIMEFORMATが修正されました。 /etc/bash.rcまたは/etc/profileで? [コピー]

historyCentOS / RHEL 6では、コマンド出力に日付/時刻を追加したいと思います。デフォルトでは、コンピュータのすべてのユーザーにこれを適用したいと思います。これ自体は簡単です。以下を追加すればいいと思います。

export HISTTIMEFORMAT="%Y%m%d %T  "

どこに追加する必要がありますか?に追加するかどうかについていくつかの/etc/profile矛盾する情報を見ました/etc/bashrc。私は両方とも同じように効果的であると信じています。

特定の修正のためにどのファイルを使用すべきかについて提案がある人はいますか?

答え1

この文字列を含むファイルを作成してこのディレクトリに追加します/etc/profiled.d。ファイルcustom_histformat.shまたは同様のものを呼び出します。

通常、これらのファイル(/etc/profileまたは)はシステム所有であるため、/etc/bashrcそのファイルにカスタマイズを追加したくありません。カスタマイズはこの/etc/profile.dディレクトリに入れることができます。

アップデート#1

死んだ馬に勝つ危険がありますが、人々が/etc/profile.d質問に記載されているディレクトリを使用する理由を強調することが重要だと思います。@ギルズの答え

RHCEのテストを見て、ここが/etc/profile.dこのタイプの変更を行うのに適した場所であることを指摘しています。したがって、テストを見たとき、または/etc/bashrc他の質問に答えた場合は/etc/profile間違っています。これをRHismと呼びますが、これはRed Hatベースのディストリビューションが行うことです。他のディストリビューションには異なる方法があります。

答え2

すべてのユーザーに定義されている環境変数はまたは/etc/profileに属します/etc/environment。アカウントに定義された環境変数がある場合は、これ~/.environmentに属します~/.profile

HISTTIMEFORMAT環境で設定すると動作しますが、シェルごとに異なるように解釈できるため、動作してはいけません。 (しかし、私はこれがこの特定の変数の問題ではないと思います。)bashの初期化ファイルで設定する必要があります~/.bashrc。一部のインストールにはシステム全体のbash initファイル(例:)がありますが、/etc/bashrcこれはユーザー設定であるため、使用しないでください。

だからHISTTIMEFORMAT="%Y%m%d %T "それを入れてください~/.bashrc

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

関連情報