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

test的用法

数值

参数 说明
-eq 等于则为真
-ne 不等于则为真
-gt 大于则为真
-ge 大于等于则为真
-lt 小于则为真
-le 小于等于则为真
a=50
b=30
if test $[a] -eq $[b]
then
	echo "相等"
else
	echo "不相等"
fi

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

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

字符串的例子:

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

cd /usr/local/all
if test -e ./nginx-1.12.0.tar.gz
then
    echo '文件已存在!'
else
    echo '文件不存在!'
fi

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

!>-a>-o

举个栗子:

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

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

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

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

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












评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值