Linux#Shell#if [ $# -ne 1 ];then 是什么意思?
Linux服务器做前期,打开前期.sh,第一句就懵了:
if [ "$#" -ge "1" ]; then
echo "我的用法:`basename $0`"
echo "你提供了$#个参数,我是不需要函数的,不觉得羞愧吗?"
exit
什没意思呢?原来就是想说“不需要参数的,亲”..
具体是这样的:
$# 表示提供到shell脚本或者函数的参数总数;
$1 表示第一个参数。
-ne 表示 不等于
另外:
整数比较
-eq 等于,如:if ["$a" -eq "$b" ]
-ne 不等于,如:if ["$a" -ne "$b" ]
-gt 大于,如:if ["$a" -gt "$b" ]
-ge大于等于,如:if ["$a" -ge "$b" ]
-lt 小于,如:if ["$a" -lt "$b" ]
-le 小于等于,如:if ["$a" -le "$b" ]
< 小于(需要双括号),如:(("$a" < "$b"))
<= 小于等于(需要双括号),如:(("$a" <= "$b"))
‘>‘ 大于(需要双括号),如:(("$a" "$b"))
‘>=’ 大于等于(需要双括号),如:(("$a" >= "$b"))
另外:$?是shell变量,表示"最后一次执行命令"的退出状态.0为成功,非0为失败.