Bashに次のように入力します。
env | grep USER
そして
set | grep USER
同じユーザー名を2回指定します。
たとえば、入力中にecho $USER
シェルまたは環境変数が表示されるかどうかはどうすればわかりますか?
ベストアンサー1
~のためPOSIX互換シェル(Bashを含む)標準は次のように言います。
2.5.3 シェル変数
変数は環境で初期化する必要があります。[...] 変数が環境で初期化されたら、すぐにエクスポート用にマークする必要があります。専用組み込みエクスポートを参照してください。変数の割り当てにより、新しい変数を定義して初期化できます。[など。 ]
また、薬export
:
export name[=word]...
シェルは、指定された名前に対応する変数にエクスポート属性を割り当てる必要があります。これは、後で実行されるコマンド環境にその変数を配置します。
したがって、シェルの観点からは変数のみがあります。これらのいくつかは、シェルの起動時に環境から出ることができ、一部はシェルによって開始されたプロセスの環境にエクスポートできます。
(「環境」とは、実際にプロセスが開始されたときにプロセスに渡される文字列の束です。始めるために渡されましたが、プロセスに応じて他の問題かもしれませんが、もちろん、通常はすべての環境変数を渡す問題です。
POSIX以外のシェルを使用している場合は、csh
状況が異なる場合があります。たとえば、次のようになります。
$ csh
% echo $foo
foo: Undefined variable.
% setenv foo bar
% echo $foo
bar
% set foo=asdf
% echo $foo
asdf
% env |grep foo
foo=bar
% exit