linux 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.最后,测试一下。
a=$(grep '>' file | wc -l )
if [ $a = 1 ];then
要执行的语句
fi
不能用等号
num=` grep '>' file |wc -l `
if [ $num -e 1 ];then
.....
fi
if 里面只能接判断条件,不能写shell命令。
蔚卞依立: #!/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 && 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 小于等于,等同于<=