コマンドラインに多くの時間を費やしている場合は、シェル環境をカスタマイズする必要がある可能性があります。これは、エイリアスを作成し、$PATH
に新しいディレクトリを追加することを意味します。 、またはシェルプロンプトの外観を変更します。
.bashrc
のいずれかに構成を配置するように指示されているチュートリアルに出くわしたことがあるかもしれません。 、.bash_profile
または、bashシェルによって読み取られて実行される別の構成ファイル。
この記事では、Bashスタートアップファイルと.bashrc
の違いについて説明します。 および.bash_profile
ファイル。
呼び出されると、Bashは一連のスタートアップファイルからコマンドを読み取って実行します。読み取られるファイルは、シェルが対話型ログインシェルとして呼び出されるか、非ログインシェルとして呼び出されるかによって異なります。
シェルはインタラクティブでも非インタラクティブでもかまいません。
簡単に言うと、インタラクティブシェルはユーザーの端末の読み取りと書き込みを行うシェルであり、非インタラクティブシェルはスクリプトの実行時のように端末に関連付けられていないシェルです。
インタラクティブシェルは、ログインシェルまたは非ログインシェルのいずれかです。
ログインシェルは、ユーザーがsshを介してリモートで、またはローカルでターミナルにログインしたとき、またはBashが--login
で起動されたときに呼び出されます。 オプション。 bash
と入力する場合など、ログインシェルからインタラクティブな非ログインシェルが呼び出されます。 シェルプロンプトで、または新しいGnomeターミナルタブを開いたとき。
Bashスタートアップファイル#
インタラクティブなログインシェルとして呼び出されると、Bashは/etc/profile
を探します ファイルであり、ファイルが存在する場合は、ファイルにリストされているコマンドを実行します。次に、Bashは~/.bash_profile
を検索します 、~/.bash_login
、および~/.profile
リストされた順序でファイルを作成し、最初に見つかった読み取り可能なファイルからコマンドを実行します。
Bashがインタラクティブな非ログインシェルとして呼び出されると、~/.bashrc
からコマンドを読み取って実行します。 、そのファイルが存在し、読み取り可能である場合。
.bashrcと.bash_profileの違い#
.bash_profile
.bashrc
が対話型ログインシェルとして呼び出されると、読み取りと実行が行われます。 インタラクティブな非ログインシェルに対して実行されます。
.bash_profile
を使用します $PATH
のカスタマイズなど、1回だけ実行する必要のあるコマンドを実行する 環境変数。
新しいシェルを起動するたびに実行する必要のあるコマンドを.bashrc
に配置します ファイル。これには、エイリアスと関数、カスタムプロンプト、履歴のカスタマイズなどが含まれます。
通常、~/.bash_profile
.bashrc
をソースとする以下のような行が含まれています ファイル。これは、ターミナルにログインするたびに、両方のファイルが読み取られて実行されることを意味します。
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
ほとんどのLinuxディストリビューションは~/.profile
を使用しています ~/.bash_profile
の代わりに 。 ~/.profile
~/.bash_profile
の間、ファイルはすべてのシェルによって読み取られます Bashのみ。
システムにスタートアップファイルが存在しない場合は、作成できます。
結論#
.bash_profile
および.bashrc
Bashが呼び出されたときに実行されるシェルコマンドを含むファイルです。 .bash_profile
.bashrc
が対話型ログインシェルで読み取られ、実行されます。 ログインしていないシェルの場合。
Bashスタートアップファイルの詳細については、Bashのマニュアルを確認してください。
ご質問やご意見がございましたら、お気軽にコメントをお寄せください。