Linux学习之使用结构化命令

结构化命令允许你改变程序执行的顺序。

1. if- then 语句

if        command

then

        command

fi

bash shell的if语句会运行if后面的那个命令,如果该命令的退出状态码是0(该命令成功运行),位于then部分的命令就会被执行。如果该命令的退出状态码是其他值,then部分的命令就不会被执行,bash shell会继续执行脚本中的下一个命令。fi语句用来表示if-then语句到此结束。

2. if-then-else语句

if        command

then

        command

else

        command

fi

当if语句中的命令返回退出状态码0时,then部分中的命令会被执行,这和普通的if-then语句一样。当if语句总的命令返回非零退出状态码是,bash shell会执行else部分中的命令。

嵌套if:有时需要检查脚本代码中的多种条件,对此可以使用if-then语句。可以使用else部分的另一种形式:elif。

if        comamnd1

then

        commands

elif        comannd2

then

        more commands

fi

test命令

test 命令提供了在 if-then 语句中测试不同条件的途径。如果 test 命令中列出的条件成立, test命令就会退出并返回退出状态码 0 。这样 if-then 语句就与其他编程语言中的 if-then 语句 以类似的方式工作了。如果条件不成立,test 命令就会退出并返回非零的退出状态码,这使得 if-then语句不会再被执行。
数值比较
字符串比较

 

 文件比较

if-then 高级特性

 1. 双括号

双括号命令允许在比较过程中使用高级数学表达式。test命令只能在比较中使用简单的算术操作。

(( expression ))

 不需要将双括号中表达式里的大于号转义。这是双括号命令提供的另一个高级特性。

使用双方括号
双方括号 命令提供了针对字符串比较的高级特性。双方括号命令的格式如下:
[[ expression ]]
双方括号里的 expression 使用了 test 命令中采用的标准字符串比较。但它提供了 test 命 令未提供的另一个特性——模式匹配 pattern matching
case 命令
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、付费专栏及课程。

余额充值