shell编辑之条件语句

条件测试语句:

test:条件测试命令(搭配 echo $? 使用)

格式:

1.test 条件测试的表达式

test -x 123.txt

2.[ 条件测试的表达式 ]

[ -x 123.txt ]:括号里面开头和结尾都要有空格,不然会报错

3.[[ 条件测试的表达式 ]]

单括号和双中括号都是条件测试的语句但是双中括号,功能更强大,可以直接引用变量,不需要加引号,不会出现歧义,支持正则表达式

注意:使用逻辑测试时,&&和||可以加在双括号中间,-a和-o只能使用单中括号

条件测试:

-e:测试目录或者文件是否存在

-f:测试文件是否存在

-d:测试目录是否存在

-r:测试当前用户是否有读权限

-w:测试当前用户是否有写权限

-x:测试当前用户是否有执行权限

只能整数比较的表达式:

-eq:等于

-ne:不等于

-gt:大于

-ge:大于等于

-lt:小于

-le:小于等于

以上英文格式的整数比较表达式,只能用于比较整数

既可以字符串比较也可以整数比较的表达式:

==:等于

!=:不等于

<:小于

.>:大于

<=:小于等于

.>=:大于等于

逻辑测试:

-a或&&:逻辑且,前后条件都要满足

-o或||:逻辑或,前后条件满足一个既可

直接应用变量时最好用引号" "引起来;特殊符号要慎用。

if语句:

单分支结构、多分支结构和嵌套结构:

单分支:if-then-fi

输入两个数判断他们的大小,当第一个数字比第二个数字大时输出“ok”

单分支只能处理一种情况,当我们还有其他情况时就要采用多分支结构:

双分支:if-then-else-fi

输入一个ip地址看看能否ping通该地址,ping通则存放在hosts.txt文件中,反之无法ping通则提示 “地址is offline“。

此处的&>/dev/null表示将信息丢入黑洞文件中

多分支:if-then-elif-then-else-fi

输入性别,男生进入男生组,女生进入女生组,输入不为男女提示错误:

case语句:

结构:

例题:

输入你的成绩,显示成绩为优秀、一般或者不及格:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值