linux command Line and shell script bible(笔记六_比较)

这是暑假回来看linux命令行与shell脚本编程大全的一些笔记,并不是全部的,只是结合本人觉得需要的一些记录,在整理发表博文时也当作一种回顾!欢迎交流指正!!



11.1使用if-then语句
if command
then
    commands
fi
*bash shell的if语句会运行if行定义的命令,如果命令退出状态码是0,位于then部分的命令就会被执行,否则不会被执行。

if command; then
    commands
fi
*在要执行的命令结尾加个分号,就能在同一行使用then语句了

11.2if-then-else
if command
then
    commands
else
    commands
fi

11.3嵌套if
if command1
then     
    commands
elif    command2
then
      more commands
fi
*elif语句行提供了另一个要测试的命令,类似于原始的if语句

11.4 test命令
if-then语句是不能测试跟命令的退出状态码无关的条件的,但test命令提供了在if-then中测试不同条件的途径,
如果test命令中列出的条件成立就会退出并返回退出状态码0,如果条件不成立就会退出并返回退出状态码1
if test condition
then
    commands
fi
bash shell提供了另一种在if-then语句中声明test命令的方法:
if [ condition ]
then
    commands
fi
方括号定义了test命令中用到的条件。注意:必须在括号来年观测各加一个空格。
test命令可以判断一下3类条件:
*数值比较
*字符串比较
*文件比较
#####################test命令的数值比较功能##########
-eq     -ge     -gt     -le     -lt     -ne
注意:不能在test命令中使用浮点值

11.4.2 字符串比较
#################test命令的字符串比较功能###########
    =    !=    <    >    -n    -z
注意:test的比较会将所有的标点和大写也考虑在内,且大写字母会被当成小于小写字母(但是sort刚刚相反)
注意:空的和未初始化的变量的长度都是0
注意警告:test命令是哟哦哪个标准的数学比较符来表示字符串比较,而用文本代码来表示数值比较。

11.4.3 文件比较
######################test命令的文件比较功能##############
-d file        -e file        -f file        -r file    
-s file        -w file        -x file        -O file
-G file        file1 -nt file2        file1 -ot file2

11.5 符合条件测试
*[ condition1 ] && [ condition2 ]
*[ condition1 ] || [ condition2 ]

11.6 if-then的高级特性
*用于数学表达式的双尖括号
*用于高级字符串处理功能的双方括号
11.6.1 使用双尖括号
(( expression ))
expression可以是任意的数学赋值或者比较表达式,除了test中用到的标准数学运算符,还可以是其他的
#####################################
var++    var--    ++var    --var    ||
!    ~    **    <<     
>>    &    |    &&
11.6.2 使用双方括号
[[ expression ]]
双方括号中的expression使用了test中采用的标准字符串,更是提供了test命令未提供的另一个特性——模式匹配
如 if [[ $USER == r* ]]
11.7 case命令
case variable in
pattern1 | pattern2) commands1::
pattern3) commands2::
*) default commands::
esac
*注意:可以通过竖线操作符来分割模式,在一行列出多个模式,星号会铺货所有跟所有类出来的模式都不匹配的值。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值