linux shell编程if-then-else控制结构

发布时间:2020-06-16编辑:脚本学堂
本文介绍了linux shell编程中if-then-else控制结构的用法,感兴趣的朋友参考下。

shell编程的判断语句与c编程的判断语句不同,if判断的是 命令的返回值,如果命令返回为0表示执行成功,则执行then后面的语句,如果返回的为非0值,则命令执行不成功,执行else后面的语句。

例如:
 

复制代码 代码示例:
if  test -f  /etc/passwd ; then
echo "this file is existes"
else
echo "this file isn't existes"
 

在shell中的判断主要有三类 : 数值比较,字符串比较,文件比较

1:数值比较的操作有:
test命令和 " [ " 符号命令,这两个命令的作用一样。没有区别。
((   ))双圆括号命令来进行高级的数学公式运算
[[    ]]双方括号命令不仅可以高级运算,还可以进行模式匹配如:if [[ $USER= "r*" ]] ;then

2: 字符串的比较操作命令为
test命令

3:文件的比较命令为
test命令

补充: shell中只能进行整数的运算,如果要进行浮点数的运算,需要使用到bc命令.使用规则如下
 

复制代码 代码示例:
var1 = `echo "scale = 4 ; 4/5 " | bc `   option scale默认为0,表示小数位为0,如果为4,则表示保留4为小数
var2 = `bc << EOF
scale = 4
a=4/9
b=7/34

a+b ` 这是另一种用法,将所有的表达式以重定向管道传递给bc命令,以EOF 开始于结尾。