shell脚本第二天——变量

变量

变量名定义:字母,数字,下划线
开头:下划线,字母
格式: 变量名=值
如: 给name赋值为zhangsan

name=zhangsan

打印变量格式: echo $变量名
如:打印变量name的值

echo $name

取消变量 unset 变量名

unset name

设置仅读变量
格式:readonly 变量名=值
如:设置仅读变量name值为zhangsan

readonly name=zhangsan

当定义值里面包含空格的时候,需要给值加双引号或者单引号

name="zhang san"

作为规范最好加上双引号。而且,再给变量赋值后,会自动转换成字符型。
在这里讲一下单引号与双引号的区别

[root@compute ~]# echo $name
zhang san
[root@compute ~]# echo 'my name is $name' 
my name is $name
[root@compute ~]# echo "my name is $name" 
my name is zhang san

由此可以看出,单引号里面的$变量时是没有意义的

在来说下通过命令的输出来给变量赋值
1.反引号 ``。会将反引号里面的内容当做命令执行并将输出赋值给变量

[root@compute ~]# name=`echo zhangsan`
[root@compute ~]# echo $name
zhangsan

2.括号()。变量名=$(命令)

[root@compute ~]# name=$(echo lisi)
[root@compute ~]# echo $name
lisi

特殊变量
$0: 脚本名称
$1: 接受的第一个参数
$#: 传递参数的个数
$*: 传递的所有参数
$?: 上个命令的执行结果( 0:执行正确,非0为执行失败)
数字判断
-eq: 等于
-le: 小于等于
-ge: 大于等于
-lt: 小于
-gt: 大于
-ne: 不等于
字符判断
==: 判断字符串是否相同
!=: 判断字符串是否不相同
-n: 字符不为空则为真
-Z: 字符为空则为真
文件判断
-e: 当文件和目录存在返回真
-f: 当文件存在时返回真
-d: 当目录存在时返回真
布尔运算符
-a: 与
-o: 或
!: 取反
逻辑运算符
&&: 当前面的为真才能执行后面的,否则不执行
||: 当前面为假才执行,否则不执行
整数运算
let:
$(()):

发布了10 篇原创文章 · 获赞 4 · 访问量 1605

猜你喜欢

转载自blog.csdn.net/qq_32502263/article/details/104377612
今日推荐