前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Shell文件判断,布尔运算,逻辑运算

Shell文件判断,布尔运算,逻辑运算

原创
作者头像
入门笔记
修改2021-01-06 10:44:03
1.2K0
修改2021-01-06 10:44:03
举报
文章被收录于专栏:入门小站

文件判断

测试符

描述

示例

-e

文件或目录存在为真

[ -e path ] path 存在为 true

-f

文件存在为真

[ -f file_path ] 文件存在为 true

-d

目录存在为真

[ -d dir_path ] 目录存在为 true

-r

有读权限为真

[ -r file_path ] file_path 有读权限为 true

-w

有写权限为真

[ -w file_path ] file_path 有写权限为 true

-x

有执行权限为真

[ -x file_path ] file_path 有执行权限为 true

-s

文件存在并且大小大于 0 为真

[ -s file_path ] file_path 存在并且大小大于 0 为 true

代码语言:txt
复制
#!/bin/bash
F="/tmp"
[ -f $F ] && echo "${F}是文件" || echo "${F}不是文件"
[ -d $F ] && echo "${F}是目录"|| echo "${F}不是目录"
[ -e $F ] && echo "${F}存在"  || echo "${F}不存在"
[ -r $F ] && echo "${F}可读"  || echo "${F}不可读"
[ -w $F ] && echo "${F}可写"  || echo "${F}不可写"
[ -x $F ] && echo "${F}可执行"  || echo "${F}不可执行"
[ -s $F ] && echo "${F}文件存在大小不为0"  || echo "${F}不存在或者大小为0"

布尔运算

运算符

描述

示例

!

非关系,条件结果取反

[ ! 1 -eq 2 ]为true

-a

和关系,在[]表达式中使用

[ 1 -eq 1 -a 2 -eq 2 ]为true

-o

或关系,在[]表达式中使用

[ 1 -eq 1 -o 2 -eq 1 ]为true

代码语言:txt
复制
#!/bin/bash
  
A=2
B=2
C=3
D=3
if [ $A -eq $B -a $C -eq $D ];then
   echo "yes"
else
   echo "no"
fi

C=4

if [ $A -eq $B -o $C -eq $D ];then
   echo "yes"
else
   echo "no"
fi

逻辑运算

判断符

描述

示例

&&

逻辑和,在[[]]和(())表达式中 或判断表达式是否为真时使用

[[ 1 -eq 1 && 2 -eq 2 ]]为 true (( 1 == 1 && 2 == 2 ))为true

[ 1 -eq 1 ] && echo yes 如果&&前 面表达式为 true 则执行后面的

||

逻辑或,在[[]]和(())表达式中 或判断表达式是否为真时使用

[[ 1 -eq 1 || 2 -eq 1 ]]为 true (( 1 == 1 || 2 == 2 ))为true

[ 1 -eq 2 ] || echo yes 如果||前 面表达式为 false 则执行后面的

代码语言:txt
复制
#!/bin/bash
  
A=2
B=2
C=3
D=3
if [[ $A == $B && $C == $D ]];then
   echo "yes"
else
   echo "no"
fi

C=4

if [[ $A == $B || $C == $D ]];then
   echo "yes"
else
   echo "no"
fi  
  • 单括号[-a等价于双括号[[中的&&,逻辑与
  • 单括号[-o等价于双括号[[中的||,逻辑或
  • 单括号[-eq等价于双括号[[中的==,等于号
wx.jpg
wx.jpg

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文件判断
  • 布尔运算
  • 逻辑运算
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档