fdwj.net
当前位置:首页 >> linux shEll的iF语句 >>

linux shEll的iF语句

if为判断语句,判断某个东西是否达到设定的条件。 1,格式为: if 语句格式if 条件then Commandelse Commandfi 别忘了这个结尾 2,if的三种条件表达式: if command thenif 函数 then 命令执行成功,等于返回0 (比如grep ,找到匹配) 执行失败...

echo "你继续吗?Y or N" read ANSWER if [ “$ANSWER” = “Y” -o “$ANSWER” = “y” ] ; then echo "你选择了$ANSWER"; elif [ “$ANSWER” = “N” -o “$ANSWER” = “n” ] ; then echo "你选择了$ANSWER"; else echo "输入错误" exit fi -----你试试

首先应该是0不是o $?是shell变量,表示"最后一次执行命令"的退出状态.0为成功,非0为失败. 在你的问题里就是,if语句前一个命令执行成功,就怎么样

bash shell 里面不用{} 每一个if 后面用endif标志结束 if ... elseif ... endif

autoreboot.sh: line 9: [0=1]: command not found ---- f [$LOAD_VULE=1] 这里错了,要改成 f [ $LOAD_VULE -eq 1 ] 特别强调下,"["后面有空格,“]”前面有空格。

shell脚本中的or和C语言类似,也是用||(两个竖杠)表示or逻辑。但是在shell脚本中,有严格的执行顺序要求,前一条命令或语句返回false,||的下一条语句或命令才会执行。

line="#abcmatch BCD" REGEXP="^[#]" # 变量赋值不需要前缀$ if [[ $line =~ $REGEXP ]] && [[ $line != '' ]]; then #粗心 [[ ]] 要配对使用 你写成了 [[ ] [ ]] true #shell 不能使用空的if 结构,至少要有一个命令。 可以使用true命令 。 ech...

你为什么要做两个判断?我看你的意思就是如果test19这个file不存在然后创建。 为什么之前还要做一个-e的判断?如果你只是判断test19,写这一句不就足够了。 if [ ! -f test19 ] then touch test19 fi

(($num1 != $num2))里面的是算术表达式 用(($num1 - $num2)) 或者[ [ $num1 != $num2 ]]

建议将if (("$a" -eq "$b"))改为if [ $a -eq $b ],注意括号两边的空格(你说得对,如果一行只有一条语句,不需要分号)。

网站首页 | 网站地图
All rights reserved Powered by www.fdwj.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com