Linuxとセットの環境変数問い合わせ

Linuxの環境変数の設定およびクエリ

グローバル変数、ローカル変数:bashシェルでは、環境変数は、2つのカテゴリに分類されます。

生成されたすべてのサブシェルとシェルのセッションのためのグローバル環境変数が表示されます。ローカル変数は、唯一の自分の殻を作成することが表示されます。

地球環境変数

グローバル変数を表示し、ENVまたはprintenvのコマンドを使用します。あなたは、環境変数を表示したい場合は、printenvのコマンドを使用できますが、envコマンドを使用することはできません。

[root@localhost ~]# printenv HOME
/root
[root@localhost ~]# 

第2のアプローチは、エコーコマンドを表示することです。しかし、変数ビューの前に$ドル記号を追加する必要があります。

[root@localhost ~]# echo $HOME
/root
[root@localhost ~]# 

ローカル環境変数

唯一の彼らのプロセスの定義の中で目に見えるローカル環境変数。Linuxシステムのデフォルトは標準のローカル環境変数を定義します。カスタムローカル変数と、ユーザー定義の変数はローカル変数と呼ばれます。

Linuxは、ローカル環境変数を表示するには、特定のコマンドではありません。設定コマンドは、ローカル変数、グローバル変数、ユーザ定義の変数を含む特定のプロセスのために設定されているすべての環境変数を、表示されます。

[root@localhost ~]# set

カスタム変数

すべての環境変数名は大文字であり、それはbashシェルでは標準的な方法です。あなたはローカル変数やシェルスクリプトを作成する場合は、小文字を使用しています。変数名は大文字と小文字が区別されます。ユーザー定義のローカル変数が関与小文字とスティックは、システム環境変数をもたらす可能性があり、災害の再定義を回避することができます。

ローカル変数を定義します。

あなたはbashシェルを起動(またはシェルスクリプトを実行)したら、シェルプロセスのローカル変数内に表示を作成することができます。等号で環境変数に割り当てることができますまたは値が数値文字列かもしれません。

ローカル環境変数を設定したら、シェルプロセスのどこにでもそれを使用することができます。しかし、サブシェルに使用できません生成された追加シェル、もし。

[root@localhost tmp]# echo $my_var   由于没有my_var变量,打印空行

[root@localhost tmp]# my_var="Hello"   设置my_var变量的值为Hello,如果值没有空格,可以省略双引号
[root@localhost tmp]# echo $my_var   使用my_var变量,需要加上$作为引用,打印出来值
Hello
[root@localhost tmp]#

グローバル変数を定義します。

作成中のプロセスのグローバル環境変数を設定するには、子プロセスでは、変数が表示されます。地球環境変数を作成する方法は、ローカル環境変数を作成し、地球環境にエクスポートすることです。このプロセスは、変数名の前に、exportコマンドによって行われます$を追加する必要はありません。

[root@localhost tmp]# echo $my_var   由于没有my_var变量,打印空行

[root@localhost tmp]# my_var="Hello"   设置my_var变量的值为Hello,如果值没有空格,可以省略双引号
[root@localhost tmp]# echo $my_var   使用my_var变量,需要加上$作为引用,打印出来值
Hello
[root@localhost tmp]# export my_var   将局部变量导入到全局变量中
[root@localhost tmp]# echo $my_var    打印该变量
Hello
[root@localhost tmp]# bash    重新打开一个bash shell进程,测试是否可以访问变量my_var
[root@localhost tmp]# echo $my_var   新的进程依旧可以访问变量
Hello
[root@localhost tmp]# exit   退出当前进程,返回上一个进程
exit
[root@localhost tmp]# echo $my_var   原本的进程有也可以访问。
Hello
[root@localhost tmp]# printenv   打印全局变量
# 其他全局变量省略不显示
my_var=Hello World   刚才导入的全局变量已经显示
_=/usr/bin/printenv
[root@localhost tmp]# 

変更グローバルサブシェル環境変数は親シェルにおける変数の値には影響しません。

[root@localhost tmp]# echo $my_var   父shell的全局变量值
Hello World
[root@localhost tmp]# bash   开启一个子shell
[root@localhost tmp]# echo $my_var  打印子shell的变量值
Hello World
[root@localhost tmp]# my_var="Bash Hello World"   重新设置子shell的变量值
[root@localhost tmp]# echo $my_var   重新打印子shell变量
Bash Hello World
[root@localhost tmp]# exit   退出子shell进程
exit
[root@localhost tmp]# echo $my_var   重新打印父shell进程
Hello World
[root@localhost tmp]# 

サブシェルも、親シェルのグローバル環境変数の値を変更するにはexportコマンドを使用することはできません。サブシェルを再定義し、派生変数がmy_variableが、シェル変数my_variableの親はまだ元の値を保持しますが。Linuxのように、サブシェルが動作不能親シェルの環境変数です。

環境変数を削除するには

新しい環境変数を作成することができますので、もちろん、当然、あなたはすでに存在している環境変数を削除することができます。この操作は、unsetコマンドで行うことができます。環境変数unsetコマンドを参照する場合、$を使用しないように覚えています。

[root@localhost tmp]# echo $my_var    打印环境变量
Hello World
[root@localhost tmp]# unset my_var    删除my_var环境变量
[root@localhost tmp]# echo $my_var
[root@localhost tmp]# 

$を使用しないときは、$を使用する際には、環境変数の名前に来るとき、それは混乱しています。

ライン上にあることを覚えて:あなたは、変数、使用$にしたい場合は、変数を操作したい場合は、$を使用しないでください。これはルールです

例外は、変数の値を表示するprintenvの使用です。

地球環境変数を扱うには、物事は少しトリッキー取得します。あなたが子供に地球環境変数を削除すると、

一人っ子は効果的なプロセス。地球環境は、まだ親プロセスで利用可能です。そのため、環境変数を削除するには、親は、彼らができる前に対処する必要があります。

環境変数の設定

問題は、システム環境変数を変更遭遇しました。変数が長くなっている場合は、再集合当てにならない場合は、Linuxは、拡張変数を変更する方法を提供するようにします。

[root@localhost tmp]# my_var="Hello"  设置环境变量
[root@localhost tmp]# echo $my_var 
Hello
[root@localhost tmp]# my_var=$my_var" World"   环境变量扩展,添加World
[root@localhost tmp]# echo $my_var  重新打印
Hello World
[root@localhost tmp]# 
公開された233元の記事 ウォンの賞賛189 ビュー390 000 +

おすすめ

転載: blog.csdn.net/sinat_32366329/article/details/104081766