Linux shell(2)

1.变量
以固定名称存放的可能变化的值,可以提高脚本的适应能力,方便脚本执行中重复使用某个值。
定义/赋值变量格式为:变量名=变量值
注意事项:若指定变量已存在,则相当于重新给变量赋值;等号两边无空格;变量名区分大小写;变量名不能以数字开头,不使用关键字和特殊字符。

[root@localhost ~]# X=1                         //定义变量X并赋值为1
[root@localhost ~]# X=Centos                    //变量X重新赋值为Linux

查看/引用变量值格式为:$变量名、echo $变量名、echo ${变量名}
查看变量值:

[root@localhost ~]# echo $X
Centos

引用变量值

[root@localhost ~]# echo $X
Centos
[root@localhost ~]# echo $X6                   

[root@localhost ~]# echo $X6.5    //小数点起到分隔作用,未定义变量X6无取值
.5
[root@localhost ~]# echo ${X}6.5               //使用{}区分易混淆变量
Centos6.5

取消变量
自定义变量的两种失效方式:
–退出定义变量的shell环境,变量会自动失效
–环境内手动取消:unset变量名

[root@localhost ~]# echo $X
Centos
[root@localhost ~]# unset X
[root@localhost ~]# echo $X

2.变量种类
根据使用类型区分:

Linux shell(2)

 

 (1)环境变量
Linux中环境变量涉及/etc/profile(针对所有用户)和~/.bash.profile(家目录中,针对当前用户)
env命令列出所有环境变量
set命令列出所有变量
(2)位置变量
执行脚本时执行的命令行参数,格式:n,n为序号,序号为两位数的加括号如nn如{10}
$1为第一个位置参数,即脚本后第一个参数

[root@localhost ~]# cat passwd.sh 
useradd $1 2> /dev/null
echo 123456 | passwd --stdin $1 &> /dev/null
[root@localhost ~]# id test1
id: test1: no such user
[root@localhost ~]# sh passwd.sh test1
[root@localhost ~]# id test1
uid=1002(test1) gid=1002(test1) groups=1002(test1)

$3为第3个位置参数,即脚本后第3个参数

[root@localhost ~]# cat passwd.sh 
useradd $3 2> /dev/null
echo 123456 | passwd --stdin $3 &> /dev/null
[root@localhost ~]# sh passwd.sh test test1 test2
[root@localhost ~]# id test
id: test: no such user
[root@localhost ~]# id test1
id: test1: no such user
[root@localhost ~]# id test2
uid=1002(test2) gid=1002(test2) groups=1002(test2)

(3)预定义变量
可以直接使用,不可以修改赋值

Linux shell(2)

 

Linux shell(2)

上一篇:复习JavaScript 3


下一篇:在Linux上搭建MQTT