Shell中[中括号]的用法详解——条件测试必会

shell中中括号的用法


#【前言】
shell中的中括号在条件测试中是使用最频繁的,无论是中括号还是双中括号:

  • 算数比较: 比如一个变量是否大于1 ,[ $free -gt 1 ]
  • 文件测试: 比如一个文件是否存在,[ -e /opt/kiro ]
  • 字符串比较: 比如字符串是否相同,[[ $home = $user ]]

单括号的使用

  • 文件测试:
[root@Kiro shell]# [ -d /etc/passwd ] && echo 存在 || echo 不存在
不存在

在这里插入图片描述

  • 整数值比较:
[root@Kiro shell]# ls |wc -l
9
[root@Kiro shell]# num=`ls |wc -l`
[root@Kiro shell]# echo $num
9
[root@Kiro shell]# [ $num -gt 5 ] && echo 当前目录文件大于5
当前目录文件大于5
[root@Kiro shell]# 

在这里插入图片描述

双括号

  • 字符串比较
[root@Kiro shell]# vim test.sh
!/bin/bash
read -p "请输入你的文件名: " file
if [[ $file == *.sh ]]; then
echo "这是一个shell脚本"
fi

[root@Kiro shell]# bash test.sh
请输入你的文件名: star.sh
这是一个shell脚本

==代表比较,=代表赋值
在这里插入图片描述
在这里插入图片描述

#【总结】
其实test 命令是可以代替[]中括号的,还可以省不少事!例如:

if [ $free -gt 0 ]; then echo "非0";fi

等价于

if test $free -gt 0; then echo "非0";fi

注:这里的$free是我提前定义好的
在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值