linux shell 脚本中if语句的用法 在脚本中使用if if[! -w “$logfile” ] 为什

作者&投稿:但腾 (若有异议请与网页底部的电邮联系)
在linux下shell脚本中if中用到or怎么写~

linux下shell脚本的逻辑的or用运算符 || 表示,if中用到or的写法实例如下:
a=10
b=20
if [[ $a -lt 50 || $b -gt 50 ]]
then
echo "返回 true"
else
echo "返回 false"
fi
其中$a -lt 100表示a50为假;真 or 假为真。
所以输出结果为:返回 true

扩展资料
1、shell中流程控制if基本语法介绍:
if condition
then
command1
command2 ...
commandN
fi



2、shell中的另一个逻辑运算符and (&&)用法实例介绍:
a=10
b=20
if [[ $a -lt 100 && $b -gt 100 ]]
then
echo "返回 true"
else
echo "返回 false"
fi
输出结果为:返回 false

可以使用 if-elif-else 语法来写多条件语句。
1、首先要理解if-else的基本用法,if条件+then操作+else操作+fi闭合,书写方法如下:

2、if -elif-else 语法的具体格式--if单条件多分支,书写方法如下:

3、实例 - if单条件多分支,这个实例的输出结果是:a 小于 b。

4、实例 - if多条件多分支,这个实例输出结果是:a 等于 b,或 a小于10。

扩展资料
1、shell语法注意事项
shell的if语法和C语言等高级语言非常相似,唯一需要注意的地方就是shell的if语句对空格方面的要求比较严格,如果在需要空格的地方没有打上空格,就会报错。
如if [ 1 == 1 ];then echo "abc";fi中如果在少写了if后面的空格就报错:

2、 shell语法中[[ ]]和[ ]的主要区别
(1) [ ] 实际上是bash 中 test 命令的简写。即所有的 [ expr ] 等于 test expr。对 test 命令来说, 用 -eq 要进行数字比较,而你此时传入字符串,就报错了。
(2) [[ ]] 是内置在shell中的一个命令,它比test强大的多。支持字符串的模式匹配(使用=~操作符时甚至支持shell的正则表达式)。逻辑组合可以不使用test的-a,-o而使用&& ||。

if [ ! -w "$logfile" ]
then echo "not writeable"
echo "not writeable again"
fi

 注意空格,shell里面有的地方必须有空格,有的地方必须没有空格。[ ]前后都要有空格



if[! -w “$logfile” ]

把“”符号去掉试试。
改为:if[! -w $logfile ]

if语句后面有没有加结尾:fi ?

if [ ! -w "$logfile" ]; then 
    # 代码块
fi

注意所有符号为半角英文符号,还有空格




商水县19680291214: linux shell if语句中~是什么意思 -
掌哑茜芷: 表正则匹配,例如:if [[ "$date" =~ "[0-9]{8}" ]]

商水县19680291214: 如何在LINUX SHELL 脚本中 用IF语句表达 -
掌哑茜芷: if [ -d /home/c ];then do sth else do sth fi

商水县19680291214: linux shell中if的用法 -
掌哑茜芷: $# 参数个数-a 逻辑与 上面的意思是如果参数个数等于2并且第一个参数为-A,则条件为真.

商水县19680291214: Linux bash/sh/shell编程中的if语句应该怎么写 -
掌哑茜芷: line="#abcmatch BCD" REGEXP="^[#]" # 变量赋值不需要前缀$ if [[ $line =~ $REGEXP ]] && [[ $line != '' ]]; then #粗心 [[ ]] 要配对使用 你写成了 [[ ] [ ]] true #shell 不能使用空的if 结构,至少要有一个命令. 可以使用true命令 . echo yes else ...

商水县19680291214: 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就该这么学》这本书籍,你有兴趣也可以好好看看这本书,讲的非常详细.

商水县19680291214: UNIX/Linux shell脚本 if语句的几个案例 -
掌哑茜芷: if [条件测试1] && (||) [条件测试2]; //以if为起始,后面可以接若 then //干个判断式,使用&&或|| 第一段程序执行内容 elif [条件测试3] && (||) [条件测试4]; //第二段的判断,如果第一 then //段没有符合就来此搜寻条件 第二段程序执行内容 else ...

商水县19680291214: linux中的shell脚本如何实现 if(条件) { if() {} else{} } else { if(){} else{} } 这种功能?? -
掌哑茜芷: if 条件;then if 条件;then 代码 else 代码 fi elseif 条件;then 代码 else 代码 fi fi

商水县19680291214: linux shell编程 if判断语句的判定条件 -
掌哑茜芷: #!/bin/bash a=$(grep '>' file | wc -l ) if [ $a = 1 ];then 要执行的语句 fi

商水县19680291214: Linux下shell脚本中“if”语法怎么嵌套例子 -
掌哑茜芷: shell脚本中的or和C语言类似,也是用||(两个竖杠)表示or逻辑.但是在shell脚本中,有严格的执行顺序要求,前一条命令或语句返回false,||的下一条语句或命令才会执行.

商水县19680291214: linux shell脚本 if语句 怎么用 [:alpha::] -
掌哑茜芷: a="abc" if [ $a == '[:alpha:]' ];then echo yes fi

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网