变量
按照惯例,Shell变量由全大写字母加下划线组成,有两种类型的Shell变量:
环境变量可以从父进程传给子进程,因此Shell进程的环境变量可以从当前Shell进程传给fork出来的子进程。用printenv命令可以显示当前Shell进程的环境变量。
2.本地变量
只存在于当前Shell进程,用set命令可以显示当前Shell进程中定义的所有变量(包括本地变量和环境变量)和函数。
环境变量是任何进程都有的概念,而本地变量是Shell特有的概念。在Shell中,环境变量和本地变量的定义和用法相似。在Shell中定义或赋值一个变量:
[root@localhost ~]# VARNAME=value
注意等号两边都不能有空格,否则会被Shell解释成命令和命令行参数。
一个变量定义后仅存在于当前Shell进程,它是本地变量,用export命令可以把本地变量导出为环境变量,定义和导出环境变量通常可以一步完成:
[root@localhost ~]# export VARNAME=value
也可以分开写:
[root@localhost ~]# VARNAME=value
[root@localhost ~]# export VARNAME
env 可显示环境变量,set可以显示本地变量 可以用grep过滤
[root@localhost ~]# set | grep VAR
VARNAME=value、
[root@localhost ~]# env | grep VAR
VARNAME=value