当前位置: 首页> 科技> 数码 > 怎样优化网站排名_建设工程施工合同司法解释一_自助建站系统哪个好_网络服务合同纠纷

怎样优化网站排名_建设工程施工合同司法解释一_自助建站系统哪个好_网络服务合同纠纷

时间:2025/9/12 9:55:29来源:https://blog.csdn.net/weixin_40763897/article/details/144764300 浏览次数:2次
怎样优化网站排名_建设工程施工合同司法解释一_自助建站系统哪个好_网络服务合同纠纷
~ script% touch if.sh
~ script% chmod 755 if.sh

1.if-then-fi

#!/usr/bin/env bashFOOD=$1
if [ $FOOD="apple" ]
thenecho The food is $FOOD
fi
exit 0
~ script % ./if.sh apple
The food is apple

如果要将多条语句写在一行,可以分号分割开,如:

if [ $FOOD="apple" ];then

注意:
if [ 条件 ],中括号包住的条件与括号之间必须要有空格。if关键字与中括号之间也必须要有空格。为什么会这样, 因为命令与参数之间必须要用空格分开。[]中括号代表的量test这个命令,所以上面的if语句也可以写成:

if test $FOOD="apple"
thenecho The food is $FOOD
fi

所以如果没有空格了,解析器就会找到一个错误或不存在的命令,因为它会把在每一行遇到的第一个空格前面有字符串的字符串当作是命令,之后的当作是参数。所以如果if和[]没有空格,执行脚本时就会报错,把if[ apple=apple ]都当作是命令了,而这实际上是一个不存在的命令:

~ script % ./if.sh apple
./if.sh: line 4: if[ apple=apple ]: command not found

温馨提示:赋值语句的等号左右不能有空格,否则会报错。

2.else子句

if.sh:

#!/usr/bin/env bash
NUM=$1
if [ $NUM -eq 10 ] # = 等价于-eq,后者只能用于数字的比较上,前者=,则在字符串和数字上都能用于相等的比较
thenecho it is 10
elseecho it is not 10
fi
exit 0
~ script % ./if.sh 109
it is not 10

2.elif子句

#!/usr/bin/env bashNUM=$1
if [ $NUM -eq 10 ] # = 等于-eq,后者只能用于数字的比较上,前者则都可以用在字符串和数字的相等比较上
thenecho equal 10
elif [ $NUM -lt 10 ]
thenecho less than 10
elif [ $NUM -le 11 ]
thenecho less than or equal 11
elseecho greater than 11
fi
exit 0
~ script % ./if.sh 109
greater than 11
  • -eq:equal 等于
  • -lt:less than 小于
  • -gt:greater than 大于
  • -le:less than or equal 小于或等于
  • -ge:greater than or equal 大于或等于

为什么不可以用<,>等来表达上面这些关系,因为这些符号在类Unix系统中有特殊用途。

关键字:怎样优化网站排名_建设工程施工合同司法解释一_自助建站系统哪个好_网络服务合同纠纷

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: