.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インストールに必要なシステム固有の要素が含まれている可能性があるため、すでにそれで作業しています。