shell脚本分支和运算符

一、分支语句

1. 赋值

格式:a=10
注意:等号两边不能有空格

2. 恒等

格式:10 == 10

3. if语句

格式一:

if [ 判断条件 ]
then
	语句块
fi

注意:条件成立,语句块运行,中括号两边由空格
格式二:

if [ 判断条件 ]
then
	语句块1
else
	语句块2
fi

格式三:

if [ 条件1 ]
then
	语句块1
elif [ 条件2 ]
then
	语句块2
......
else
	语句块n
fi

4. 关系运算符

仅对数字有效
-eq:判等,相等返回true
-ne:判不等,不相等返回true
-gt:大于(>)
-lt:小于(<)
-gt:大于等于(>=)
-le:小于等于(<=)

注意:
在 [] 中使用-eq…
在$(()) 中使用==…

5. 布尔运算符

布尔值:true、false
!非运算取反:!true=false
-o 或运算:只要有一个表达式位true整体就为true
-a 与运算:只要有一个表达式为false,整体结果结尾false

6. 逻辑运算符

需要两个中括号包裹[[]]
&& 逻辑与:只要有一个表达式为false,整体结果就是false
|| 逻辑或:只要有一个true,结果就是true

7. 字符串运算符

  1. 判断字符串是否相等
    = 相等返回true
    != 不相等返回true
  2. 判断字符串长度是否为0
    -z:为0返回true
    -n:不为0返回true
  3. 判空
    $变量名 不为空返回true

8. 文件测试运算符

-d:判断是否为目录
-f:判断是否为文件
-r:判断是否能读
-w:判断是否能写
-x:判断是否能执行
-s:判断文件是否为空
-e:判断文件或目录是否存在

9. 转义字符

格式:\字符

  1. 转符号
    " —> "
    \ —> \
  2. 转特殊效果
    需要开启转义 -e
    \c 不换行
    \b 后退
    \n 换行
    \t 水平制表符
    如:echo -e “adfsdsfs\c”

10. read命令

格式:read 变量名
作用:从终端输入中读取到用户输入的数据,把读取道德数据传递给shell脚本中的变量

11. >、>>

> 定向符:显示结果保存到指定文件中(覆盖)
>> 双重定向符:显示结果保存到指定文件中(追加)
如:echo “123” >> 123.txt

12. 显示执行结果

格式:echo ‘linux命令’
esc下面的`

13. printf输出

格式:printf 格式声明 输出内容
格式声明和输出内容必须匹配
如:printf %d 88
%d :整数
%s :字符串
%c :字符
%f :浮点数
%-4.2f :-表示居左,默认居右;4表示总长度;.2表示保留2为小数

14. test判断条件

格式:if test 判断条件
优先级:!> -a > -o

15. case语句

格式:

case $变量名 in
	值1)
		语句块1
	;;
	值2)
		语句块2
	;;
	值3)
		语句块3
	;;
	......
	*)
		语句块n
	;;
esac

猜你喜欢

转载自blog.csdn.net/yang_yang_heng/article/details/107631683