.profile
日付はとして知られているオリジナルのBourneシェルにバックアップsh
。GNUシェルbash
は(そのオプションに応じて)Bourneシェルのスーパーセットであるため、両方のシェルで同じ起動ファイルを使用できます。つまり、sh
コマンドのみが入力されている場合.profile
たとえば、alias
はの有効な組み込みコマンドですbash
が、には不明sh
です。したがって、.profile
ホームディレクトリにだけがあり、その中にalias
ステートメントを置くと、sh
文句を言うでしょう。そのため、.profile
ファイルが存在しない場合にのみbashが読み取るシェル初期化コマンドを含むbash固有のファイルがあります。
実際、これは一部のインストールでは少し単純化しすぎており、Fedoraには詳しくありません。bashの下で/etc/profile
は、シェルによってホームディレクトリ内のファイルの前に読み取られます。システム全体の初期化スクリプトがある場合、それはしばしば次のようになります
if there is a $HOME/.profile:
source it
elseif bash is my shell and there is a $HOME/.bash_profile:
source that
なぜそうなのですか?何十年にもわたるシェル方言にわたる互換性の試み。チュートリアルがそのように書かれているのはなぜですか?Bourneシェルはあまり使用されないことが多く、bash以外にBourneのようなシェルがあることを知らない人もいます。(制限された)Bourne構文がクロスプラットフォーム互換性を高めるために使用されている場合dash
でも、POSIX互換モードで実行されるか、bashで実行されることがよくあります。確かに、実際のBourneシェルソースはおそらくUnix System Vの著作権コンポーネントであり、現在Novellの所有物であるように見えますが、私は何といっても彼らが何をしているのかわかりません。
開始ユーザーのために、使用のいずれか$HOME/.profile
または$HOME/.bash_profile
両方ではなく、あなたは大丈夫です。.bash_profile
インストールに必要なシステム固有の要素が含まれている可能性があるため、すでにそれで作業しています。