Linux中shell编程需要避免的坑之shell语法篇(二)

来源:互联网 发布:java读取excel 编辑:程序博客网 时间:2024/06/07 17:22

test的用法

数值
参数说明-eq等于则为真-ne不等于则为真-gt大于则为真-ge大于等于则为真-lt小于则为真-le小于等于则为真

a=50b=30if test $[a] -eq $[b]thenecho "相等"elseecho "不相等"fi

if经常与test一块来用,下面多举几个例子:

a=50b=30sum=$[a+b]echo "$sum"
注意:这里进行的简单运算可以不借助expr工具,等号两边不能有空格

字符串的例子:

a="abc"b="cba"if test $a = $bthen    echo '两个字符串相等!'else    echo '两个字符串不相等!'fi
文件的例子:文件命令指令参考上一篇

cd /usr/local/allif test -e ./nginx-1.12.0.tar.gzthen    echo '文件已存在!'else    echo '文件不存在!'fi

与( -a )、或( -o )、非( ! )优先级如下:

!>-a>-o

举个栗子:

cd /usr/local/allif test -e ./nginx-1.12.0.tar.gz -o -e ./elasticsearch-5.0.1.tar.gzthen    echo '一个文件!'else    echo '两个文件都不存在!'fi

最容易出错的地方就是空格,回顾前面的:

1.定义简单的运算等号两边不能加空格

2.[]里面的有变量需要空格,如:[ $a -eq $b ]

3.多条件中括号要用双层












0 0
原创粉丝点击