[解決済み] .bashrc、.bash_profile、.environmentの違いは何ですか?
質問
私は長年にわたって多くの異なる *nix ベースのシステムを使用してきましたが、私が使用する Bash のすべてのフレーバーは、実行するスタートアップスクリプトを決定するための異なるアルゴリズムを持っているように思われます。 環境変数やエイリアスの設定、および起動メッセージ (たとえば MOTD) の印刷などのタスクの目的のために、どの起動スクリプトがこれらを行うのに適切な場所なのでしょうか?
に置くことの違いは何ですか?
.bashrc
,
.bash_profile
そして
.environment
? のようなファイルも見たことがあります。
.login
,
.bash_login
そして
.profile
などがありますが、これらは関係あるのでしょうか? 物理的にログインするとき、sshでリモートログインするとき、新しいターミナルウィンドウを開くとき、どれが実行されるかの違いは何でしょうか? プラットフォーム(Mac OS X(およびその Terminal.app)と Cygwin Bash を含む)間で大きな違いがあるのでしょうか?
どのように解決するのですか?
シェルの設定ファイルとの主な違いは、いくつかのファイルは "ログイン" シェルによってのみ読み込まれるということです (たとえば、別のホストからログインしたときや、ローカルの unix マシンのテキスト コンソールでログインしたとき)。これらのファイルは、たとえば
.login
または
.profile
または
.zlogin
といった具合です(使用しているシェルによって異なります)。
次に、quot;interactive" シェル (ターミナル (ウィンドウシステム上で動作するターミナルエミュレータなどの場合は疑似ターミナル) に接続されているもの) によって読み取られる設定ファイルがあります。
.bashrc
,
.tcshrc
,
.zshrc
など。
bash
はこれを複雑にしています。
.bashrc
は
であるシェルによってのみ読み込まれます。
対話的
であり
非ログイン
というように、ほとんどの人が
.bash_profile
も読むように
.bashrc
を次のように読みます。
[[ -r ~/.bashrc ]] && . ~/.bashrc
他のシェルは異なる動作をします。
zsh
,
.zshrc
は、ログインしているかどうかに関わらず、 対話的なシェルでは常に読み込まれます。
bashのマニュアルページには、各ファイルが読まれる状況について説明されています。はい、動作はマシン間で概ね一貫しています。
.profile
が元々使用していたログインスクリプトのファイル名です。
/bin/sh
.
bash
との後方互換性があり、一般に
/bin/sh
と読み替えます。
.profile
を読みます。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン