coreutils のマニュアルにはenv
コマンドについて説明します。
env [option]... [name=value]... [command [args]...]
環境指定後にコマンド名を指定しないと、結果の環境が印刷されます。これはprintenvプログラムを指定するのと同じです。
値は?に依存するという点で、印刷環境env
によって異なります。例えば、env
_
env
$ env | grep '^_'
_=/usr/bin/env
env
環境変数の値が_
特定の値に変更されている場合を除き、現在のシェルからエクスポートされたほとんどすべての環境を印刷しますenv
。
それではenv
、現在のシェルの環境を出力しますが、内部的に受け取った環境を出力しますかenv
?
ありがとうございます。
答え1
envはほとんどのシェルで別々のプログラムなので、シェルから受け取った環境を印刷します。
Bourne Shellは、シェル変数に基づく環境管理システムを使用します。
起動時に環境をシェル変数のリストにインポートします。
シェル変数を作成または変更しても、シェルが新しいプログラムに設定する環境は変更されません。
電話
set
印刷内部シェル変数set
シェルに組み込まれているように電話
env
印刷輸出環境env
外部コマンドと同じ
シェル変数_
はksh88
。最後のコマンドを保持します。