linux shell编程 if判断语句的判定条件

作者&投稿:利盲 (若有异议请与网页底部的电邮联系)
shell脚本中的if中多条件语句如何写。~

可以使用 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而使用&& ||。

1.首先,我们打开pycharm软件并进入软件的主界面。

2,然后我们添加评论。

3,然后我们编写输入信息语句,myname = input(“username:”)age = int(输入(“age:”)。

4,如果年龄<20岁,我们写下判断条件。

5,如果执行语句打印(“{name}非常年轻”.format(name = myname))。

6,然后是,同样如此。

7.最后,测试一下。

#!/bin/bash
a=$(grep '>' file | wc -l )
if [ $a = 1 ];then
要执行的语句
fi

不能用等号
num=` grep '>' file |wc -l `
if [ $num -e 1 ];then
.....
fi

if 里面只能接判断条件,不能写shell命令。


三元区18813949874: linux shell编程 if判断语句的判定条件 -
蔚卞依立: #!/bin/bash a=$(grep '>' file | wc -l ) if [ $a = 1 ];then 要执行的语句 fi

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

三元区18813949874: 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-----你试试

三元区18813949874: linux的shell 脚本里怎么用if 判断文件大小呀?
蔚卞依立: 需要几个工具 基本上思路是 用 du配合awk取得文件大小 ,然后if判断 伪代码如下 s=`du -k logfile|awk '{print $1}'` if [ $s -gt 1024000000 ] then 停止oracle监听进程 rm -rf logfile &amp;&amp; touch logfile 启动oracle监听进程 else continue fi

三元区18813949874: linux下Shell使用if语句判断是否有test用户存在,如存在,显示该用户的UID,不存在则显示"no such user" -
蔚卞依立: #!/bin/sh su - test if [ $? -eq 1 ] then echo "no such user" else echo `cat /etc/passwd|grep test|awk -F: '{print $3}'` fi 应该不需要解释吧!!!!

三元区18813949874: Linux shell编程,这个命令if [ "$pid" ]; then....什么时候if条件判断为true和false呢? -
蔚卞依立: 只有当pid为空时,if条件才会为false.如果pid是程序获取的进程号,那么就是当进程存在时(pid不为空)为true,当进程不存在时(pid为空)为false.1、pid="" if条件为false,如下面输出2: pid="" if [ "$pid" ] then echo "1" else echo "2" fi2、pid=任何非空值 if条件为true,如下面输出1: pid="0" if [ "$pid" ] then echo "1" else echo "2" fi 希望能够帮助到你,你的好评是我前进的动力,谢谢!

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

三元区18813949874: Linux用shell编程,判断参数 -
蔚卞依立: if -d 是判断目录 if -f 是判断文件 自己写吧,if ...else

三元区18813949874: linux shell编程 if语句无法判断变量是否相等 -
蔚卞依立: (($num1 != $num2))里面的是算术表达式 用(($num1 - $num2)) 或者[ [ $num1 != $num2 ]]

三元区18813949874: 在linux shell中if语法的使用不知道错在哪里?
蔚卞依立: if [ 1 < 2 ]; then数值不是用“<”符号比较,应该用-lt其它的还有: -eq 等于,等同于== -ne 不等于,等同于<> -gt 大于,等同于> -lt 小于,等同于<-ge 大于等于,等同于>= -le 小于等于,等同于<=

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