1 linux变量
在Linux系统中,变量是计算机系统用来保存可变值的数据类型。 变量一般都是大写的,系统中的环境变量用来定义系统运行环境的一些参数,比如每个用户不同的家目录、邮件存放位置。以下是linux中最重要的十个环境变量:
变量名称 | 含义 |
---|---|
HOME | 用户的主目录 |
SHELL | 用户在使用shell时的解释器名称 |
HISTSIZE | 输出的历史命令记录条数 |
HISTFILESIZE | 保存的历史命令记录条数 |
MALL | 邮件保存路径 |
LANG | 系统语言、语系名称 |
RANDOM | 生成一个随机数字 |
PSI | Bash解释器的提示符 |
PATH | 定义解释器搜索用户执行命令的路径 |
EDITOR | 用户默认的文本编辑器 |
2 变量操作
2.1 变量查看
echo $VAR
echo ${VAR}
root@yuanwanli home]# echo ${PATH}
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/redhat/.local/bin
[root@yuanwanli home]# echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/redhat/.local/bin
2.2 变量创建
直接赋值
[root@yuanwanli home]# TESTVAR="abcd"
[root@yuanwanli home]# echo $TESTVAR
abcd
变量名和等号之间不能有空格
命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
中间不能有空格,可以使用下划线(_)。
不能使用标点符号。
不能使用bash里的关键字(可用help命令查看保留关键字)。
2.3 变量的累加
[root@yuanwanli home]# PATH=$PATH:/home/redhat
[root@yuanwanli home]# echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/redhat/.local/bin:/home/redhat
2.4 变量删除
[root@yuanwanli home]# unset TESTVAR
2.5 变量类型
运行shell时,会同时存在三种变量:
- 局部变量 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。
- 环境变量 所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。
- shell变量 shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行
2.6 变量提升为全局变量
[root@yuanwanli home]# export TESTVAR