一、shell语法
1.1 shell中的特殊符号
` `: 反引号 用于命令中执行命令
' ' 和 " ": 单引号和双引号,脚本中出现的字符串可以用这两个符号引起来,但是单引号不能解析变量
1.2 数学运算
1.2.1 expr命令
- 该命令只能够做
整数运算
,使用时要注意空格
expr 1 + 2 --> 数字跟符号之间都需要空格
expr 5 \* 2 -->使用*时需要加转义符号,否则默认为通配符
1.2.2 bc计算器
- 用来处理
浮点运算
也可以直接使用命令,例如:
echo “scale=2;10/3”|bc
1.2.3 使用双圆括号进行数学运算
- 也是只能处理整数运算,跟expr命令一样
1.2.4 使用awk命令
- awk命令可以进行小数和整数的运算
1.2.5 使用$[]符号运算
- 只适用整数
二、使用echo命令格式化输出
2.1 可选参数
- -n 表示输出后不换行
使用例子:echo -n 输出内容
- -e,可以处理一些字符串中出现的以下特定字符,还有其他很多,待补充
\b 删除前一个字符
\t 插入tab
使用示例1:echo -e "\b23"
示例2:echo -e "\t23"
三、使用read命令基本输入
- 表示默认接受键盘的输入,回车结束
例如login.sh脚本内容
执行脚本,打印信息之后会等待键盘输入
输入信息后回车,结束输入,并继续打印最后一句信息
示例2
执行read -p "please input two number" a1 a2
命令,从标准输入中获取值赋给变量。
read -p "please input two number" a1 a2
命令相当于以下两条命令
echo -n "please input two number:"
read a1 a2
-p 设置提示信息
四、变量
4.1
变量的定义,读取,以及取消由以下示例所示:
- 定义:只能使用英文字母,数字,下划线
- 读取:使用$符号,既可以使用
$变量名
的方式,也可以使用${变量名}
的方式 - 取消:使用unset命令
4.2 将命令结果赋值给变量
有如下两种方法:
1. 使用反引号:变量名=`命令`
2. 使用$()将命令括起来: 变量名=$(命令)
示例:
首先看到执行cat test.txt
命令的结果为abc
使用方法1,可以看到变量name的值就是test.txt文件的内容
使用方法2,可以看到同样的结果
五、数组
5.1 数组的定义以及读取如下所示:
- 定义格式:数组名=(元素1 元素2 …)
- 读取:使用$符号, ${数组名[索引]}
5.2 数组的赋值以及查看方式如下所示:
- 单个赋值:数组名[索引]=值
- 查看数组内容:
declare -a
命令