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
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
shell脚本中,if语句用于根据条件执行不同的操作。在if语句中,可以使用方括号([])或双方括号([[]])来进行条件判断。方括号([ ])是一条命令的形式,可以使用test命令或者其等价的下面是一个使用方括号的if语句的例子: ``` if [ 条件 ]; then 操作1 elif [ 条件 ]; then 操作2 else 操作3 fi ``` 而使用双方括号的if语句的语法类似,只是条件表达式的写法略有不同: ``` if [[ 条件 ]]; then 操作1 elif [[ 条件 ]]; then 操作2 else 操作3 fi ``` 在if语句中,可以使用比较运算符(如=, !=, -eq, -ne, -lt, -gt等)来进行条件判断,也可以使用逻辑运算符(如&&, ||)进行多个条件的组合判断。另外,还可以使用case语句来进行多分支的条件判断。总的来说,if语句是shell脚本中非常常用的条件控制结构,通过判断条件的真假来执行相应的操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [shell脚本中if用法](https://blog.csdn.net/shenwuwangc/article/details/122027626)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *3* [Shell脚本之——条件语句if详解](https://blog.csdn.net/weixin_59325762/article/details/128436773)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值