質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

Q&A

2回答

11036閲覧

EC2のetc/environmentについて

anpnt

総合スコア29

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

0グッド

1クリップ

投稿2019/08/08 05:36

編集2019/08/08 06:20

EC2(amazon linux)のetc/environmentとbash_profileって環境変数をまとめるときにおいて、どう違うんでしょうか?

URL

↑のサイトを見ると

profileは
>ログイン時に実行される
と書いてありますが、ここでいうログイン時ってなんのことなんでしょうか....?

なんとなくenviromentのほうが先に読み込まれるんだなあというのはわかりますが、具体的な使い方の違いがわからないです...!

環境変数をまとめることにおいては、どちらに書いても一緒だとは思うのですがenvironmentに書かないと読み込まれないときがあります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

anpnt

2019/08/08 06:21

すみません 失念してました
guest

回答2

0

EC2(amazon linux)のetc/environmentとbash_profileって環境変数をまとめるときにおいて、どう違うんでしょうか?

/etc/environment は PAM の機能で、.bash_profile は bash の機能です。
前者は、ログインシェルかどうか、対話的シェルかどうか、bash かどうかは関係なく PAM によって読み込まれます。後者は bash スクリプトで bash がログインシェル もしくは 対話的シェルとして実行された場合に bash によって読み込まれ実行されます。

この2つは互換性はありません。/etc/environment には name=value 形式のものしか書けませんが、.bash_profile は bash のスクリプトが書けますので name=$name:value といった書き方が可能ですし、条件分岐や繰り返しといった制御文も書くことができます。その代わり、bash 専用です。

と書いてありますが、ここでいうログイン時ってなんのことなんでしょうか....?

ざっくりいうと、
・Linuxにログインしたときに 実行される bashは ログインシェルとして実行されます。
・上記以外で bash コマンドを実行した場合や、シェルスクリプトでbashが実行された場合は、ログインシェルではありません。
・bash コマンドに -l --login オプションを指定した場合はログインシェルとして実行されます。

詳しくは man bash に書いてありますので そちらを見てください。

投稿2019/08/16 12:52

take88

総合スコア1491

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ここでいうログイン時って

コンソールからもしくはssh等で、ユーザー名とパスワードによって認証されてログイン処理を行い、ログインシェルであるbashが起動された場合、そのbashは~/.bash_profileを読み込みます。

/etc/environmentは、ユーザー認証のときに、/etc/pam.d/下に記述されたpam_env.soが読み込むようです。
参考:man pam_env

投稿2019/08/08 06:11

otn

総合スコア86281

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問