我们先看如下实例
#!/bin/bash
if [ $1 == '123' ];then
echo $1
fi
if [ $1 -eq 123 ];then
echo $1
fi
执行结果
123
123
shell 作为一种解释型语言,会按照需要解释成对应的类型,这里数字被解释为整形或者字符串
我们再对上面的代码稍作修改
#!/bin/bash
if [ $1 == 'abc' ];then
echo $1
fi
if [ $1 -eq abc ];then
echo $1
fi
执行结果 会报错
abc
./test.sh: line 7: [: abc: integer expression expected