Linux 变量@TOC
描述
变量是用一串固定的字符来表示不固定的值的一种方法,即在程序运行过程中值是允许改变的量
命名规范
shell中的变量命名规范跟其他语言类似
- 命名中只可以使用英文字母、数字、下划线,变量不能以数字开头
- 命名中不可有空格,可使用下划线连接,如 MY_NAME
- 禁止使用bash中的关键字(help命令查看保留关键字)
变量的种类
linux shell中变量分为:环境变量、用户变量、系统变量三种
- 环境变量只在当前shell终端生效,shell终端关闭则变量失效;
- 用户变量写在用户的配置文件(
.bash_profile
)中,只针对当前用户生效; - 系统变量写在系统的配置文件(
/etc/profile
、/etc/profile.d/*.sh
)中,对所有用户生效;
使用方式
定义变量时,变量名不加
$
符,变量名和等号之间不能有空格;查看变量时加$
符;
- 设置、查询与使用变量
可将常用的目录或文件定义成变量,方便目录切换和查询信息;
[root@OpenWrtEXT:~]#coreconfig='/data/rpd_script/rpd/rcp/simulator/conf'
[root@OpenWrtEXT:~]#echo $coreconfig
/data/rpd_script/rpd/rcp/simulator/conf
[root@OpenWrtEXT:~]#cd $coreconfig
[root@OpenWrtEXT:conf]#pwd
/data/rpd_script/rpd/rcp/simulator/conf
[root@OpenWrtEXT:conf]#
- 查询所有变量
[root@OpenWrtEXT:conf]#set
HOME='/root'
HOSTNAME='OpenWrtEXT'
IFS='
'
LOGNAME='root'
OLDPWD='/root'
OPTIND='1'
PATH='/usr/sbin:/usr/bin:/sbin:/bin'
PPID='20830'
- 删除变量
[root@OpenWrtEXT:conf]#echo $gao
<br/>
[root@OpenWrtEXT:conf]#gao=123
[root@OpenWrtEXT:conf]#echo $gao
123
[root@OpenWrtEXT:conf]#unset gao
[root@OpenWrtEXT:conf]#echo $gao
<br/>
[root@OpenWrtEXT:conf]#
特殊的变量
shell中存在一些常用内置的变量
变量名 | 变量描述 |
---|---|
$0 | 执行脚本时的脚本绝对路径 |
$1 | 执行脚本时第一个变量 |
$2 | 执行脚本时第二个变量 |
$n | 执行脚本时第n个变量 |
$# | 执行脚本时后跟变量个数 |
$* | 执行脚本时后跟的所有变量,模式为’1 2 3’ |
$@ | 执行脚本时后跟的所有变量,模式为’1’‘2’‘3’ |