linux的if语句
⑴ linux if判断是不是数字
if echo $n|grep "^[0-9][0-9]*$";then
echo $n是数字
fi
⑵ linux 每个if都要搭配一个fi吗
每个if语句都要用fi结束,而且是每一个if都要对应一个fi。
整个if语句用fi闭合起来才算完整,书写时if和fi要垂直对齐以方便查看。
格式举例:
if condition
then
command1
command2
fi
condition是判断条件,如果 condition 成立(返回“真”),那么 then 后边的语句将会被执行;如果 condition 不成立(返回“假”),那么不会执行任何语句。最后必须以fi来闭合,fi 就是 if 倒过来拼写,即使有多条语句也不需要用{ }包围起来。
(2)linux的if语句扩展阅读
shell if多条件的格式用法介绍
shell 支持任意数目的分支,当分支比较多时,可以使用 if elif else 结构,它的格式为:
if condition1
then
statement1
elif condition2
then
statement2
elif condition3
then
statement3
else
statementn
fi
注意,if 和 elif 后边都得跟着 then。整条语句的执行逻辑为:
如果 condition1 成立,那么就执行 if 后边的 statement1;如果 condition1 不成立,那么继续执行 elif,判断 condition2。
如果 condition2 成立,那么就执行 statement2;如果 condition2 不成立,那么继续执行后边的 elif,判断 condition3。
如果 condition3 成立,那么就执行 statement3;如果 condition3 不成立,那么继续执行后边的 elif。
如果所有的 if 和 elif 判断都不成立,就进入最后的 else,执行 statementn。
⑶ linux shell的if语句
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
这部分我是看的《Linux就该这么学》这本书籍,你有兴趣也可以好好看看这本书,讲的非常详细。
⑷ Linux bash/sh/shell编程中的if语句应该怎么写
line="#abcmatch
BCD"
REGEXP="^[#]"
#
变量赋值不需要前缀$
if
[[
$line
=~
$REGEXP
]]
&&
[[
$line
!=
''
]];
then
#粗心
[[
]]
要配对使用
你写成了
[[
]
[
]]
true
#shell
不能使用空的if
结构,至少要有一个命令。
可以使用true命令
。
echo
yes
else
echo
NO
fi
###
end
另外Bash
不支持完全的正则表达式。[[
“$line”
=~
“$REGEXP”
]]
不能达到你想要的效果。
需要使用echo
"$string"|
grep
-qP
/regexp/
Zsh
支持完整的正则表达式,
[[
“$line”
=~
“$REGEXP”
]]
能达到你想要的效果。