变量定义:declare tmp,declare是可选的。shell
变量赋值:tmp=1,=号左右不要有空格。bash
变量引用:echo $tmp,不要忘记了$号。操作系统
简单理解了变量的概念,就很好解释环境变量了,环境变量就是做用域比自定义变量要大,如Shell 的环境变量做用于自身和它的子进程。在全部的 UNIX 和类 UNIX 系统中,每一个进程都有其各自的环境变量设置,且默认状况下,当一个进程被建立时,处理建立过程当中明确指定的话,它将继承其父进程的绝大部分环境设置。Shell 程序也做为一个进程运行在操做系统之上,而咱们在 Shell中运行的大部分命令都将以 Shell 的子进程的方式运行。继承
一般会涉及三种环境变量:进程
set显示shell中全部环境变量。env显示用户相关环境变量。export显示导出的环境变量。
set>env>export。作用域
修改PATH环境变量:PATH=$PATH:other_path。
在每一个用户的 home 目录中有一个 Shell 每次启动时会默认执行一个配置脚本,以初始化环境,包括添加一些用户自定义环境变量等等。zsh 的配置文件是.zshrc,相应 Bash 的配置文件为.bashrc。它们在etc下还都有一个或多个全局的配置文件,不过咱们通常只修改用户目录下的配置文件。字符串
咱们能够简单的使用下面命令直接添加内容到.zshrc中:echo "PATH=$PATH:/home/shiyanlou/mybin" >> .zshrc。zsh
上述命令中>>表示将标准输出以追加的方式重定向到一个文件中,注意前面用到的>是以覆盖的方式重定向到一个文件中,使用的时候必定要注意分辨。在指定文件不存在的状况下都会建立新的文件。变量
变量修改有以下几种方式:配置
使用 unset 删除环境变量。
在上面咱们在 Shell 中修改了一个配置脚本文件以后(好比 zsh 的配置文件 home 目录下的.zshrc),每次都要退出终端从新打开甚至重启主机以后其才能生效,非常麻烦,咱们可使用source命令来让其当即生效,如:
source .zshrc
source命令还有一个别名就是.,注意与表示当前路径的那个点区分开,虽然形式同样,但做用和使用方式同样,上面的命令若是替换成.的方式就该是
. ./.zshrc 注意第一个点后面有一个空格,并且后面的文件必须指定完整的绝对或相对路径名,source 则不须要。