Linux shell 环境变量

1.用 declare 预声明一个变量

declare tmp

2.使用 = 号赋值运算符,将变量 tmp 赋值为 shiyanlou:

tmp=shiyanlou

3.通常我们会涉及到的变量类型有三种:

(1) 当前 Shell 进程私有用户自定义变量,如上面我们创建的 tmp 变量,只在当前 Shell 中有效。
(2) Shell 本身内建的变量。
(3) 从自定义变量导出的环境变量。

4.set

显示当前 Shell 所有变量,包括其内建环境变量(与 Shell 外观等相关),用户自定义变量及导出的环境变量。

set示例
set | grep -E “tmp”
tmp=shiyanlou

5.env

显示与当前用户相关的环境变量,还可以让命令在指定环境中运行。

env示例
执行下面命令,看不到任何输出,很显然无私有变量
env | grep -E “tmp”

自己配置一个环境变量
export disk=/dev/sda
执行命令,有打印
env | grep -E “disk”
disk=/dev/sda

6.export

显示从 Shell 中导出成环境变量的变量,也能通过它将自定义变量导出为环境变量。

export示例
export | grep -E “disk”
declare -x disk=“/dev/sda”

7.使用vimdiff 可以对文本文件进行差异比较,当然类似的工具有很多,讲道理我喜欢有界面的。

下面这组操作将命令输出通过管道 | 使用 sort 命令排序,再重定向到对象文本文件中。
$ temp=shiyanlou
$ export temp_env=shiyanlou
$ env|sort>env.txt
$ export|sort>export.txt
$ set|sort>set.txt

8.约定的

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

9.让环境变量永久生效

(1) 永久的:需要修改配置文件,变量永久生效;
(2) 临时的:使用 export 命令行声明即可,变量在关闭 shell 时失效。

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

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

10.变量删除

可以使用 unset 命令删除一个环境变量:

$ unset temp

你可能感兴趣的:(Linux,linux,服务器,运维)