shell脚本中的if语句 ubuntu---shell脚本:if - then 语句 和 test命令

11/28 05:20:03 来源网站:辅助卡盟网

shell脚本中的if语句 ubuntu---shell脚本:if - then 语句 和 test命令

大佬教程收集整理的这篇文章主要介绍了ubuntu---shell脚本:if - then 语句 和 test命令,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

一、基本结构化命令if-then语句格式:

if  command
then
    command
fi

解释:bash sHell的if语句会运行if后面的那个命令。

如果该命令的退出状态码是0(该命令成功运行),位于then部分的命令就会被执行。

如果该命令的退出状态码是其他值,then部分的命令就不会被执行。

fi语句用来表示if-then语句到此结束。

二、test命令

SHell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。

if-then语句不能测试命令退出状态码之外的条件,test命令提供了在if-then语句中测试不同条件的途径。

如果test命令中列出的条件成立,test命令就会退出并返回状态码0。

test命令的格式:

test condition

condition是test命令要测试的一系列参数和值。当用在if-then语句中时,test命令看起来是这样的。

if test condition
then
    command
fi

另一种写法:

if [condition]
then
    command
fi

第一个方括号和第二个方括号之前必须加上一个空格,否则会报错

test命令可以判断三类条件:

1)数值比较

2)字符串比较

3)判断文件

test File1 –ef File2 两个文件具有同样的设备号和i结点号

test File1 –nt File2 文件1比文件2 新

test File1 –ot File2 文件1比文件2 旧

test –b File 文件存在并且是块设备文件

test –c File 文件存在并且是字符设备文件

test –d File 文件存在并且是目录

test –e File 文件存在

test –f File 文件存在并且是正规文件

...

@

三、tr 命令

tr = translate的简写。

tr 命令用于转换或删除文件中的字符。

tr 指令从标准输入设备读取数据shell脚本中的if语句,经过字符串转译后,将结果输出到标准输出设备。

tr 命令主要用来从标准输入中通过替换或删除操作进行字符转换,然后打印输出到标准输出。

可以通过管道或重定向标准输入来获得 tr的输入数据。

tr 对输入数据可以进行三种操作: 字符替换、压缩重复字符和删除字符。

tr命令格式:

tr [OPTION] String1 [String2]  

1.在tr中String1和String2用来指示一个字符集合范围。可以是下面的一些形式(一般要加双引号):

1) [a-d] : [a-d]表示abcd,常用的有[a-z]、[A-Z]、[0-9]等,[bfgh]表示 bfgh。可以加上单或双引号

2) [C*n] : 表示字符 C 重复出现指定次数n。因此,[F*3]表示FFF。一般只能出现在 String2中。

3) \nnn : 三位八进制数卡盟,对应有效的 ASCII 字符。一般用于表示特定的控制字符。

2.选项"-c": 表示用在输入数据中出现,但是不包含在 String1 字符范围内的字符组成的集合,代替原来的 String1。

在 tr 的三类操作中都可以使用选项"-c"。

  eg: echo "adcfghg" | tr -cd fgca  
  // 将显示 acfgg  输入数据中不包含在 String1 中的字符范围 是"dh"  ,所以,实际上只是删除了字符"dh" 

    暂无相关资讯
shell脚本中的if语句 ubuntu---shell脚本:if - then 语句 和 test命令