ログインシェルはどのような方法で読み取られますか/etc/profile
?
答え1
ソースがあります。実施と調達の違いについては後述する。この投稿。ここでの重要な違いは、ソースによってソースファイルのコマンドが現在のシェルで実行されることです。これは、ファイルで定義されているすべての変数がシェルで使用できることを意味します。違いを説明するには、以下を試してください。
$ cat foo ## a simple file with a variable definition
var="hello"
$ chmod +x foo ## make file executable
$ ./foo ## execute
$ echo "$var" ## var is not set in the parent shell
$ . foo ## source
$ echo "$var" ## var is now set in the parent shell
hello
だから/etc/profile
それを読むシェルに影響を与えることができなければならないので、源泉そして処刑されませんでした。
答え2
これらのファイルを取得するには、シェルを使用してください。
子プロセスでこれを行うことは、シェルが自分の環境で変数などを設定しないことを意味します。変数などは、子プロセスの環境(別途)に設定されるためです。子プロセスは、その環境を親プロセスに戻すことはできません。
また見なさい:親シェルで子シェルの変数を使用可能にする方法