.bash_logoutの目的は何ですか?

.bash_logoutの目的は何ですか?

質問」.bashrcの目的は何ですか?どのように機能しますか?「目的と用途を探す.bashrc。同様の名前を持つ別の文書は.bash_logout

もともとこのファイルが存在する必要がありますか?それでは、このファイルの目的は何ですか?

答え1

ファイル.bash_logoutが存在する必要はありません。

その内容はログインシェルが終了したbashときに取得されますbash。たとえば、このファイルは、ターミナルセッションからログアウトするときにさまざまな種類のクリーンアップを実行できます。

これを使用して、GUI以外の環境からログアウト中に画面を消去するなど、すべてのシェルコードを実行できます。また、一部のユーザーは、.bash_loginまたはで開始されたプロセスを明示的に終了するのが便利だと思うかもしれません.bash_profile。たとえば、ユーザーデーモンやバックグラウンドプロセス(たとえば)を起動すると、fetchmail簡単に終了できます.bash_logout

シェルにはcsh同様のファイルがあり.logout、シェルに対応するファイルzshはです.zlogout。私が知る限り、シェルにはksh同様の機能はありません。

接線に関する質問も参照してください。ログインシェルと非ログインシェルの違いは何ですか?

答え2

からman bash

ログインシェルが終了すると、bash は ~/.bash_logout および /etc/bash.bash_logout ファイルがある場合、そのファイルからコマンドを読み込み、実行します。

答え3

この質問はファイルの詳細を尋ねることであるため、.bash_logout同様のファイルをさまざまに一覧表示することをお勧めします。通常、さまざまな目的で次の6つのファイルを使用します。

  1. /etc/profile
  2. ~/.bash_profile
  3. ~/.bash_login
  4. ~/.bashrc
  5. ~/.profile
  6. ~/.bash_logout

.bash_history場合によっては、ユーザーが実行したコマンドを保存するファイルが表示されることがあります。

.bashrcファイルを理解したとし、.bash_loginこれらのファイルが実行される順序に焦点を当て、.bash_logoutファイルが使用される用途を理解します。

まず、ユーザーがログインしたときにファイルが存在する場合は、.bash_profileファイルが存在するかどうかに関係なく実行されます。.bash_login.profile

ファイルが利用できない場合は.bash_login最初に実行され、そのファイルも利用できない場合は.profile実行されます。

ユーザーがログインすると、ファイルが.bash_profile読み取られ、ファイル内のすべてのコマンドが実行されますが、ユーザーが新しいシェルを起動するとファイルは読み取られません。ユーザーが新しいシェルを起動したときに.bashrcファイルを読み取ることを理解しています。

ファイルを見ると.bash_logout、ユーザーがログアウトするとこのファイルが実行されることがわかります。 Bashの主な目的は、ユーザーの作業をより簡単にするための環境を提供することに同意することもできます。したがって、このファイルは、ユーザーがログアウトしたときにいくつかのコマンドを実行するのに役立つ環境を作成するのに役立ちます。多くの場合があります。説明のために、ユーザーがログオフしたときに管理者がユーザーが開始したすべてのプロセスを終了しようとしているとします。または、ユーザーがファイルを消去したい場合があります.mysql_history。ログオフ時に一部のファイルをコピーしたり、バックアップを作成したい場合があります。ご覧のとおり、おそらく多くの例があります。

ユーザーが/etcログオフするたびにディレクトリのバックアップファイルを作成したいとします。したがって、.bash_logoutファイルを開き、次のコマンドを入力できます。

tar -cvjf /etc ~/path/to/destination

関連情報