酷云的csdn 2019-12-05
要解释环境变量,得先明白变量是什么,准确的说应该是 Shell 变量,所谓变量就是计算机中用于记录一个值(不一定是数值,也可以是字符或字符串)的符号,而这些符号将用于不同的运算处理中,通常变量与值是一对一的关系,可以通过表达式读取它的值并赋值给其它变量,也可以直接指定数值赋值给任意变量。为了便于运算和处理,大部分的编程语言会区分变量的类型,用于分别记录数值、字符或者字符串等等数据类型。Shell 中的变量也基本如此,有不同类型(但不用专门指定类型名),可以参与运算,有作用域限定。
简单理解了变量的概念,就很容易理解环境变量了。环境变量的作用域比自定义变量的要大,如 Shell 的环境变量作用于自身和它的子进程。在所有的 UNIX 和类 UNIX 系统中,每个进程都有其各自的环境变量设置,且默认情况下,当一个进程被创建时,除了创建过程中明确指定的话,它将继承其父进程的绝大部分环境设置。Shell 程序也作为一个进程运行在操作系统之上,而我们在 Shell 中运行的大部分命令都将以 Shell 的子进程的方式运行。
declare 命令创建一个变量名为 tmp 的变量
使用 = 号赋值运算符,将变量 tmp 赋值
读取变量的值,使用 echo 命令和 $ 符号 ($ 符号用于表示引用一个变量的值, 初学者经常忘记输入):
注意:并不是任何形式的变量名都是可用的, 变量名只能是英文字母、数字或者下划线, 且不能以数字作为开头。
通常我们会涉及到的变量类型有三种:
1,当前 Shell 进程私有用户自定义变量, 如上面我们创建的 tmp 变量,只在当前 Shell 中有效。
2,Shell 本身内建的变量。
3,从自定义变量导出的环境变量。
set 显示当前 Shell 所有变量,包括其内建 环境变量(与 Shell 外观等相关), 用户自定义变量及导出的环境变量。 env 显示与当前用户相关的环境变量, 还可以让命令在指定环境中运行。 export 显示从 Shell 中导出成环境变量的变量, 也能通过它将自定义变量导出为环境变量。 注意:为了与普通变量区分,通常我们习惯将环境变量名设为大写。
$ temp=shiyanlou $ export temp_env=shiyanlou $ env|sort>env.txt $ export|sort>export.txt $ set|sort>set.txt $ vimdiff env.txt export.txt set.txt
搜索文件
在讲 Linux 上的压缩工具之前,有必要先了解一下常见常用的压缩包文件格式。在 Windows 上最常见的不外乎这两种 .zip,.7z 后缀的压缩文件。而在 Linux 上面常见的格式除了以上两种外,还有 .rar,.gz,.xz,.bz2,.tar,.tar.gz,.tar.xz,*.tar.bz2,简单介绍如下:
文件后缀名 说明 *.zip zip 程序打包压缩的文件 *.rar rar 程序压缩的文件 *.7z 7zip 程序压缩的文件 *.tar tar 程序打包,未压缩的文件 *.gz gzip 程序(GNU zip)压缩的文件 *.xz xz 程序压缩的文件 *.bz2 bzip2 程序压缩的文件 *.tar.gz tar 打包,gzip 程序压缩的文件 *.tar.xz tar 打包,xz 程序压缩的文件 *tar.bz2 tar 打包,bzip2 程序压缩的文件 *.tar.7z tar 打包,7z 程序压缩的文件
5.环境变量配置在linux系统下,需要将可执行文件配置到环境变量或将文件移动到属于环境变量的目录里面方法一:将文件移动到属于环境变量目录中sudo mv chromedriver /user/bin
写脚本涉及到数据库的配置信息,然后上面要求这种关键信息不能体现到脚本中,哦,那怎么办,那我去哪里读取数据库信息呢?从运行脚本的机器的环境变量里读取数据库信息,这样脚本中全是代码,就没有明文配置信息了。