サーチ…
備考
ログインシェル
ログインシェルは、引数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'