Bash起動環境
セッション
ユーザーがシェルを使用するたびに、シェルとのセッション (会話) が開かれます。
セッションにはログイン セッションと非ログイン セッションの 2 種類があり、ログイン シェル、非ログイン シェルとも呼ばれます。
ログインセッション
ログイン セッションは、ユーザーがシステムにログインした後にシステムによって開かれる元のセッションです。通常、ユーザーはログインするためにユーザー名とパスワードを入力する必要があります。
セッションにログインすると、通常、システム環境全体が初期化され、開始される初期化スクリプトは次のとおりです。
/etc/profile
: すべてのユーザーのためのグローバル設定スクリプト。/etc/profile.d
ディレクトリ内のすべての.sh
ファイル~/.bash_profile
: ユーザーの個人設定スクリプト。スクリプトが存在する場合、スクリプトは実行されても実行されません。~/.bash_login
:~/.bash_profile
が見つからない場合は、このスクリプト (C シェル初期化スクリプト) を実行してみます。スクリプトが存在する場合、スクリプトは実行されても実行されません。~/.profile
:~/.bash_profile
も~/.bash_login
も見つからない場合は、このスクリプト (Bourne シェルおよび Korn シェルの初期化スクリプト) を読み込んでみてください。
Linux ディストリビューションが更新されると、「/etc/profile」などの「/etc」内のファイルも更新されるため、このファイルを直接変更しないでください。すべてのユーザーのログイン環境を変更したい場合は、/etc/profile.d
ディレクトリに新しい .sh
スクリプトを作成します。
個人のログイン環境を変更したい場合は、通常、~/.bash_profile
に記述します。以下は典型的な .bash_profile
ファイルです。
# .bash_profile
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin
PATH=$PATH:$HOME/bin
SHELL=/bin/bash
MANPATH=/usr/man:/usr/X11/man
EDITOR=/usr/bin/vi
PS1='\h:\w\$ '
PS2='> '
if [ -f ~/.bashrc ];
. ~/.bashrc
フィ
エクスポートパス
エクスポートエディター
ご覧のとおり、このスクリプトはいくつかの基本的な環境変数を定義してから、~/.bashrc
を実行します。
「bash」コマンドの「--login」パラメータは、ログインセッションによって実行されるスクリプトの実行を強制します。
$ bash --ログイン
「bash」コマンドの「--noprofile」パラメータは、上記のプロファイル スクリプトをスキップします。
$ bash --noprofile
非ログインセッション
非ログインセッションは、ユーザーがシステムに入った後に手動で作成されるセッションです。この時点では、環境は初期化されません。たとえば、コマンドラインで「bash」コマンドを実行すると、新しい非ログインセッションが作成されます。
非ログインセッションの初期化スクリプトは次のとおりです。
/etc/bash.bashrc
: すべてのユーザーに有効です。~/.bashrc
: 現在のユーザーに対してのみ有効です。
ユーザーにとって、通常は ~/.bashrc
が最も重要なスクリプトです。非ログインセッションはデフォルトでこれを実行しますが、ログインセッションは通常、それを呼び出すことによって実行します。新しい Bash ウィンドウを作成するたびに、新しい非ログイン セッションを作成するのと同じなので、毎回 ~/.bashrc
が実行されます。スクリプトの実行は、新しい非対話型 Bash 環境を作成するのと同じですが、この場合、~/.bashrc
は呼び出されないことに注意してください。
「bash」コマンドの「--norc」パラメータは、非ログインセッションでの「~/.bashrc」スクリプトの実行を禁止できます。
$ bash --norc
「bash」コマンドの「--rcfile」パラメータは、「.bashrc」の代わりに別のスクリプトを指定します。
$ bash --rcfile testrc
.bash_logout
~/.bash_logout
スクリプトは、セッションが終了するたびに実行され、通常、一時ファイルの削除や、このセッションでユーザーが費やした時間を記録するなど、何らかのクリーニングと記録作業を行うために使用されます。
終了時に実行するコマンドがない場合、このファイルは存在する必要はありません。
起動オプション
デバッグを容易にするために、Bash の起動時に起動パラメーターを追加できる場合があります。
-n
: スクリプトを実行せず、構文エラーのみをチェックします。-v
: ステートメントの各行の結果を出力する前に、ステートメントの行が最初に出力されます。-x
: 各コマンドを処理する前に、まずコマンドを出力してからコマンドを実行します。
$ bash -n スクリプト名
$ bash -v スクリプト名
$ bash -x スクリプト名
キーボード バインディング
Bash では、ユーザーが独自のショートカット キーを定義できます。グローバル キーボード バインディング ファイルのデフォルトは /etc/inputrc
です。ホーム ディレクトリに独自のキーボード バインディング ファイル .inputrc
ファイルを作成できます。このファイルが定義されている場合は、グローバル バインディングが失われないように、次の行をファイルに追加する必要があります。
$include /etc/inputrc
.inputrc
ファイル内のショートカット キーは次のように定義できます。 "\C-t":"pwd\n"
は、Ctrl + t
をバインドして pwd
コマンドを実行することを意味します。
作者: wangdoc
アドレス: https://wangdoc.com/
ライセンス: クリエイティブ・コモンズ 3.0