サーチ…


備考

ログインシェル

ログインシェルは、引数0の最初の文字が - または-loginオプションで始まる文字です。初期化は、通常の対話型(サブ)シェルよりも包括的です。

インタラクティブシェル

対話型シェルとは、オプションの引数を持たず、標準入力とエラーの両方が(isatty(3)によって決定される)端末に接続されている-cオプションなしで起動されたものか、-iオプションで起動されたものです。 PS1が設定され、$ - iがbashがインタラクティブな場合はiを含み、シェルスクリプトまたはスタートアップファイルがこの状態をテストできるようにします。

非インタラクティブシェル

非対話シェルとは、ユーザーがシェルと対話できないシェルのことです。たとえば、スクリプトを実行しているシェルは、常に非対話シェルです。すべて同じですが、スクリプトは引き続きそのttyにアクセスできます。

ログインシェルの設定

ログイン時:

If '/etc/profile' exists, then source it. 
If '~/.bash_profile' exists, then source it, 
else if '~/.bash_login' exists, then source it, 
else if '~/.profile' exists, then source it. 

ログインしていない対話シェルの場合

起動時:

If `~/.bashrc' exists, then source it.

非対話シェルの場合

起動時:環境変数ENVがNULLでない場合は、変数を展開し、値で指定されたファイルをソースします。 BashがPosixモードで起動されていない場合、BashはENVより前にBASH_ENVを探します。

ドットファイルの概要

Unixでは、ピリオドで始まるファイルとディレクトリには、通常、特定のプログラム/一連のプログラムの設定が含まれています。ドットファイルは通常、ユーザから隠されているので、 ls -aを実行する必要があります。

ドットファイルの例は、ユーザーがBashを使用していると仮定して、最新の実行コマンドを含む.bash_historyです。

Bashシェルにドロップされたときにソースとなるさまざまなファイルがあります。以下のイメージは、 このサイトから取得したもので、起動時にどのファイルをソースにするかを決定する決定プロセスを示しています。

ファイルを入手するための意思決定ツリー

対話型シェルを起動する

bash

シェルのタイプを検出する

shopt -q login_shell && echo 'login' || echo 'not-login'


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow