前言
上一篇中,介绍了Shell中的变量。变量是对数据的引用,而数据因用途不同,也分为不同的类型。同时,在Shell中,一些符号具有特殊的用途,本文也一并介绍。
一、Shell中的特殊符号
-
# 号
在shell脚本中,# 号作注释使用
-
单引号 ’ '
单引号,强引用,将引号内的内容原样输出,因此不可包含变量
-
双引号 " "
双引号,弱引用,会对特殊字符进行处理,可包含变量
-
反引号 `
用于执行命令
eg: ` ls /root`
二、Shell中的数据类型
与其他的编程语言相比,Shell所支持的数据类型并不丰富。最为常用的为以下三种:
- 整型
- 字符串
- 数组
2.1 整型
即整数,包括 负整数、0、正整数。在shell中,默认不支持浮点数运算,可通过第三方库bc
进行浮点运算。
-
整数运算
#!/bin/basa A=20 B=-20 echo $[$A/$B] #结果: -1
-
浮点数运算
yum -y install bc
#安装bcF1=2.0 F2=3.6 echo "$F1+$F2" | bc #利用bc进行运算,使用双引号! #结果:5.6
2.2 字符串
在shell中,字符串可通过单引号或双引号进行定义。两者区别见上文。
S1='test'
S1+=' string' #字符串拼接
echo $S1
#结果:test string
2.3 数组
在shell中,仅支持一维数组!可通过下标进行赋值和取值操作,下标从0开始。
#!/bin/basa
A1=(name age gender major) #字符串数组
A2=(1 hight weight) #混合数组
echo ${A1[0]} #打印A1数组下标为0的值
A2[1]=2 #将A2数组下标1处的值改为2
echo ${A2[@]} #打印A2数组所有值
echo ${#A1[@]} #打印A1数组的元素个数
#结果
name
1 2 weight
4