linux 中的if else语句
在shell中。if语句有三种形式,如下:
第一种:
if condition
then
command
else
command
在这种形式中,其中和c语言不同到是,condition实际上是一个语句列表,而不
linux 中的if else语句 在shell中。if语句有三种形式,如下: 第一种: if condition then command else command 在这种形式中,其中和c语言不同到是,condition实际上是一个语句列表,而不是一般的布尔表达式(也就是,最后到判断是以condition退出的状态为判断依据,0表示真,非0表示假,这和c语言中恰好相反)。 在shell中命令或者函数在退出时都会返回一个小小的整数给调用他的程序,这是命令的退出状态。 参考: 一下看一个例子: 以上例子中:head -1 /etc/passwd 的返回状态为0linux语句,表示真 head -1 /etc/shadow 的返回状态为1,表示假 我们新建一个文件judge.sh,写入以下代码: judge(){ if head -1 /etc/passwd then echo 'true' else echo 'false' fi } judge 执行结果: 可以看到打印出true, 将以上函数的if head -1 /etc/passwd 改为if head -1 /etc/shadow 执行结果: 第二种: 大多数情况下,可以使用测试命令(test)来对条件进行测试。比如可以比较字符串、判断文件是否存在及是否可读等等,test命令也可以[ ]来代替,这是他的另一种形式。 例如 :if test 2>3 等价于 if [ 2>3 ](注意[ ]的开始和结束都有空格,打于符号2和3之间没有空格) 将以上函数改为: judge(){ if test "aaa" = "bbb" then echo 'true' else echo 'false' fi } judge 执行结果: 第三种(即使通与test的另一种形式): 将if test "aaa" = "bbb" 改为 if [ "aaa" = "bbb"] 执行结果: 注意:if test 2>3 与 if test 2 > 3 是有 区别的,注意比较符号之间的空格 if [ 2>3 ] 与 [ 2 > 3 ] 也是有区别的,同上 (编辑:开发网_商丘站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |