バッシュのエクスポートコマンド

.shellおよびエクスポート

「1」のユーザーは、Linuxシステムにログオンした後、システムは、ユーザのシェルを起動します。このシェルでは、シェルコマンドを使用することができるか、宣言の変数には、シェルスクリプトを作成して実行することができます。あなたはシェルスクリプトを実行すると、システムは、サブシェルを作成します。この時点で、システムは、2つのシェルを持っていますが、他のシェルスクリプトを実行するために作成したシステムで、ログインシェルのシステム・スタートアップです。スクリプトが完成し稼働を持っている場合、シェルは、スクリプトを終了スクリプトの前にシェルの実行に戻ります。この意味で、ユーザは、各シェルが由来(親シェルと呼ばれる)シェルで構成されている、多くのシェルを有することができます。サブシェルで定義された変数は、サブシェルで有効です。あなたはシェルスクリプト内の変数は、スクリプトの実行、スクリプト内だけのローカル変数変数の定義を定義する場合は、他のシェル変数の値を作るために、それを参照することはできません他で見つけることができますシェルが変更され、あなたが定義したエクスポート・コマンドの出力変数を使用することができます。あなたがそれぞれの新しいシェル、この変数のコピーの定義を作成するときにexportコマンドは、システムを行います。このプロセスは、可変出力と呼ばれています。

二.EXPORT機能:設定または表示環境変数。

1.構文:エクスポート[-fnp] [変数名] = [変数の設定]
2.追加情報:シェルで実行されるプログラム、シェルは、環境変数のセットを提供します。輸出は、環境変数、使用の後続の実行のためのプログラムを追加、変更、または削除することができます。輸出の有効性は、サブ着陸操作に限定されています。
3.パラメータ:関数名としての[変数名] -f。指定された変数を削除-n。変数が実際に削除されていないが、後続の命令の実行環境に出力されていません。
 -pリストすべてのシェルの環境変数は、プログラムを与えられました。

III。学習輸出は、シェルスクリプト期間を理解します

1.輸出環境変数のshファイルを追加し、ソースファイル.SH後、環境変数を識別します
エクスポートしていない場合、また、ソース環境変数を識別することができた後に2を

より多くのパフォーマンスを得るためと結論付けることができます。
 1. 执行脚本时是在一个子shell环境运行的,脚本执行完后该子shell自动退出;
 2. 一个shell中的系统环境变量会被复制到子shell中(用export定义的变量);
 3.  一个shell中的系统环境变量只对该shell或者它的子shell有效,该shell结束时变量消失并不能返回到父shell中)
 4. 不用export定义的变量只对该shell有效,对子shell也是无效的。

最後の4つの質問:

なぜ同じことを実行しないであろうソースの後に直接実行環境変数とは何ですか?

スクリプトファイルの直接実行は、サブシェルで実行され、ソースは、現在のシェル環境で実行されています

公開された25元の記事 ウォンの賞賛0 ビュー431

おすすめ

転載: blog.csdn.net/m0_38028438/article/details/104609844