vimdiff env.txt export.txtにset.txt

 

1.環境変数

変数の概念を理解するのは簡単、環境変数を理解することは容易です。カスタム変数よりも環境変数のスコープは、シェルの環境変数は、独自およびその子に作用するよう、大きくすることができます。すべてのUNIXおよびUNIX系のシステムでは、各プロセスは、独自の環境変数の設定があり、デフォルトでは、プロセスが作成されたときに、明示的に指定作成プロセスに加えて、それはその親プロセスの必須を継承します環境設定のほとんど。シェルプログラムは、オペレーティングシステムの上でプロセスとして実行され、我々はシェルシェルのほとんどのコマンドを実行する方法は、子プロセスが実行されています。

私たちは、変数の型は、通常、三つの方法を伴います。

  • 現在のシェルは、我々は現在のシェルでのみ有効作成し、上記のような民間のTMP変数ユーザー定義変数を、処理します。
  • シェル自体は、内蔵された変数。
  • 環境変数から派生したカスタム変数。

3つの環境変数に関連する三つのコマンドもあります:setenvexportこれらの3つのコマンドが似ている、変数情報環境を印刷するために使用され、異なる変数の範囲が関与していることを除きます。以下の表:

コマンド 説明
set 表示され、内蔵の環境変数(外観シェルに関連する)を含む、現在のシェルのすべての変数を、ユーザ定義の変数と環境変数が派生しました。
env 現在のユーザーに関連付けられているディスプレイの環境変数は、また、コマンドは、指定された環境で実行することができます。
export 変数の環境変数を表示するには、シェルから派生した、それはまた、環境変数のカスタム変数としてエクスポートすることができます。

あなたは使用することがより直感的にすることができ  vimdiff 、それらの間の違いを比較するためのツールを:

$ temp=shiyanlou
$ export temp_env=shiyanlou $ env|sort>env.txt $ export|sort>export.txt $ set|sort>set.txt 

上記操作コマンド導管を介して出力  | 用いて  sort 、コマンドキューイング、およびテキストファイル内のオブジェクトにリダイレクト。

$ vimdiff env.txt export.txt set.txt

使用する  vimdiff エクスポートされたファイルの内容を比較するために、いくつかのツールを:

关于哪些变量是环境变量,可以简单地理解成在当前进程的子进程有效则为环境变量,否则不是(有些人也将所有变量统称为环境变量,只是以全局环境变量和局部环境变量进行区分,我们只要理解它们的实质区别即可)。我们这里用 export 命令来体会一下,先在 Shell 中设置一个变量 temp=shiyanlou,然后再新创建一个子 Shell 查看 temp 变量的值:

此处输入图片的描述

注意:为了与普通变量区分,通常我们习惯将环境变量名设为大写。

永久生效

但是问题来了,当你关机后,或者关闭当前的 shell 之后,环境变量就没了啊。怎么才能让环境变量永久生效呢?

按变量的生存周期来划分,Linux 变量可分为两类:

  1. 永久的:需要修改配置文件,变量永久生效;

  2. 临时的:使用 export 命令行声明即可,变量在关闭 shell 时失效。

这里介绍两个重要文件 /etc/bashrc(有的 Linux 没有这个文件) 和 /etc/profile ,它们分别存放的是 shell 变量和环境变量。还有要注意区别的是每个用户目录下的一个隐藏文件:

.profile 可以用 ls -a 查看
cd /home/shiyanlou
ls -a 

这个 .profile 只对当前用户永久生效。而写在 /etc/profile 里面的是对所有用户永久生效,所以如果想要添加一个永久生效的环境变量,只需要打开 /etc/profile,在最后加上你想添加的环境变量就好

おすすめ

転載: www.cnblogs.com/xuanbjut/p/11845791.html