变量定义的规则
1,区分大小写,同名称但大小写不同的变量名是不同的变量
[root@li www]# a=2[root@li www]# A=3[root@li www]# echo $a2[root@li www]# echo $A3
2,定义时的格式要注意,等号两边不能有空格,对于有空格的字符串做为赋值时,要用引号引起来
B="hello world"B='hello world haha'--单引号和双引号在这里都可以,后赋值的会覆盖前面的赋值
在脚本里注意引号的相互嵌套,要成对出现
3,单引号与双引号的区别,单引号内的变量或者特殊字符仅为一般字符,但双引号内的变量或者特殊字符可以保持它的变量特性
[root@li ~]# echo '$B'$B[root@li ~]# echo "$B"hello world haha
4,变量名可以是字母或数字或下划线,但是不能以数字开头
[root@li ~]# c123=aaa[root@li ~]# echo $c123aaa[root@li ~]# 123c=aaabash: 123c=aaa: command not found[root@li ~]# _abc11122=3--可以以下划线开头[root@li ~]# echo $_abc111223
5,变量赋值可以有多个
例如 echo $PATH ,以":"分隔
6,变量的获取方式
$变量名 ${变量名}
[root@li ~]# echo $a3[root@li ~]# echo ${a}3[root@li ~]# echo ${a}12345[root@li ~]# echo ${a:1:2}--切片的方式:1表示从第二个开始,2表示截2个字符23[root@li ~]# echo ${a:2:2}34[root@li ~]# echo $alinux[root@li ~]# echo $a | cut -c 2,4iu[root@li ~]# echo $a | cut -c 2-4inu
6.1、本地变量
当前用户自定义的变量。只在当前有效。
[root@desktop8 ~]# HI=hello[root@desktop8 ~]# echo $HIhello[root@desktop8 ~]# su - student[student@desktop8 ~]$ echo $HI (其他用户无效)
6.2、环境变量
设置一个变量,能够被其它应用程序调用到
[root@desktop8 ~]# env | grep HI (env 查看系统环境变量)HISTSIZE=1000HISTCONTROL=ignoredups[root@desktop8 ~]# set | grep HI (set 查看系统当前所有变量)HI=helloHISTCONTROL=ignoredupsHISTFILE=/root/.bash_historyHISTFILESIZE=1000HISTSIZE=1000[root@desktop8 ~]# export HI[root@desktop8 ~]# env | grep HIHISTSIZE=1000HI=helloHISTCONTROL=ignoredups
全局变量:全局所有的用户和程序都能调用,且继承,新建的用户也默认能调用。
echo $PATH $HOME $EUID[root@desktop8 ~]#vim /etc/profileHI=helloif [ "HISTCONTROL" = "ignorespace"] ; thenexport HISTCONTROL=ignorebothelseexport HISTCONTROL=ignoredupsfiexport PATH USER LOGNAME MALL HOSTNAME HISTSIZE HISTCONTROL HI[root@desktop8 ~]# source /etc/profile 即刻生效[root@desktop8 ~]# su - student[student@desktop5 ~]$ echo $HIhello