shell 脚本笔记

在Shell脚本中,[]和[[]]都是条件测试工具,但存在差异。[]是内置命令,要求变量使用$引用,字符串需引号括起,逻辑运算符为-a和-o,且通配符需转义;而[[]]是关键字,效率更高,变量无需$,字符串可不加引号,支持逻辑运算符&&和||,以及更复杂的条件测试如模式匹配和文件权限检查。
摘要由CSDN通过智能技术生成

在 shell 脚本中,[] 和 [[ ]] 都是条件测试语句,用于判断条件是否成立。它们的区别如下:

  • [] 是 shell 内置的命令,而 [[ ]] 是 shell 关键字,因此 [[ ]] 比 [] 更加高效。
  • [] 中的变量需要使用 $ 符号进行引用,而 [[ ]] 中的变量不需要。 // 如果是字符串匹配,还是需要 $
  • [] 中的字符串需要使用引号括起来,而 [[ ]] 中的字符串可以不用引号。 [] 中的逻辑运算符是 -a 和 -o,而 [[ ]]
  • 中的逻辑运算符是 && 和 ||。 [] 中的通配符需要使用转义符号 \ 进行转义,而 [[ ]] 中的通配符不需要。 []
  • 中的条件测试可以使用外部命令,而 [[ ]] 中的条件测试不可以。

应用场景:

  • [] 适用于基本的条件测试,如文件是否存在、字符串是否相等等。 [[ ]] 适用于高级的条件测试,如模式匹配、正则表达式匹配等。
  • [[]] 还支持更多的条件测试,如文件权限、文件类型等。

终结:

  • 能用python还是用python吧,chatgpt都写不对shell。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tobybo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值