Shell脚本中的逻辑判断、文件目录属性判断、if的特殊用法、case判断

1、Shell脚本中的逻辑判断

格式1:if 条件 ; then 语句; fi
格式2:if 条件; then 语句; else 语句; fi
格式3:if …; then … ;elif …; then …; else …; fi
逻辑判断表达式:if [ $a -gt $b ]; if [ $a -lt 5 ]; if [ $b -eq 10 ]等 -gt (>); -lt(<); -ge(>=); -le(<=);-eq(==); -ne(!=) 注意到处都是空格
可以使用 && || 结合多个条件
if [ $a -gt 5 ] && [ $a -lt 10 ]; then
if [ $b -gt 5 ] || [ $b -lt 3 ]; then

单支判断:

单支判断2:

多支判断:

#!/bin/bash
a=$1
if [ $a -gt 5 ];then
echo "$1 大于5"
elif [ $a -eq 5 ];then
echo "输入的数$1 等于5"
else
echo "$1 小于五"
fi

 

2、文件目录属性判断

[ -f file ]判断是否是普通文件,且存在
[ -d file ] 判断是否是目录,且存在
[ -e file ] 判断文件或目录是否存在
[ -r file ] 判断文件是否可读
[ -w file ] 判断文件是否可写
[ -x file ] 判断文件是否可执行

 

3、if的特殊用法

if [ -z "$a" ]  这个表示当变量a的值为空时会怎么样
if [ -n "$a" ] 表示当变量a的值不为空
if grep -q ‘123‘ 1.txt; then  表示如果1.txt中含有‘123‘的行时会怎么样
if [ ! -e file ]; then 表示文件不存在时会怎么样
if (($a<1)); then …等同于 if [ $a -lt 1 ]; then…
[ ] 中不能使用<,>,==,!=,>=,<=这样的符号

 

 4、case判断
用法:

case $tag in
1)
echo "not ok"
;;
2)
echo "ok"
;;
3)
echo "ook"
;;
4)
echo "oook"
;;
*)
echo "The number range is 0-100."
;;
esac

案例:

再把脚本用case进行判断:

原文地址:https://www.cnblogs.com/nfyx/p/9326988.html

时间: 2024-10-10 04:40:01

Shell脚本中的逻辑判断、文件目录属性判断、if的特殊用法、case判断的相关文章

shell脚本中的逻辑判断 文件目录属性判断 if特殊用法 case判断

一.shell脚本中的逻辑判断在shell脚本中,很多都会逻辑判断,判断某一个数值,判断某一个文件,或者某一个目录,我们针对判断结果再做一些操作,如果没有判断,就没法做一些操作格式1:if条件:then语句:fi例子:[[email protected] ~]# if [ $a -ge 3 ] //分行写就是这样写 thenecho okfiok[[email protected] ~]# if [ $a -ge 3 ]; then echo ok; fi //这是一行写的格式//解释:-gt表

20.5 Shell脚本中的逻辑判断;20.6 文件目录属性判断;20.7 if特殊用法;20.8 20.9 cace判断(上下)

扩展: select用法 http://www.apelearn.com/bbs/thread-7950-1-1.html 20.5 Shell脚本中的逻辑判断 格式1:if 条件 ; then 语句; fi 1. 创建if1.sh测试脚本: [[email protected] ~]# vi if1.sh a=5,如果a大于3,满足这个条件,显示ok 添加内容: #!/bin/bash a=5 if [ $a -gt 3 ] then echo ok fi 2. 执行if1.sh脚本: [[e

shell脚本中的逻辑判断,文件目录属性判断,if特殊用法,case语句

笔记内容: 20.5 shell脚本中的逻辑判断 20.6 文件目录属性判断 20.7 if特殊用法 20.8/20.9 case判断 笔记日期:2017-11-22 20.5 shell脚本中的逻辑判断 在所有的编程语言中都会有if语句来进行逻辑判断,所以在shell中也不例外. Shell的if语句的判断条件和其他编程语言一样写在if关键字的那一行,但是需要使用方括号括起来,并且变量和逻辑运算符以及方括号都要用空格隔开,这一点和其他的编程语言不一样,整个if语句块以fi关键字表示结尾,the

20.5 shell脚本中的逻辑判断 20.6 文件目录属性判断 20.7 if特殊用法 20.8/20.9 case判断

- 20.5 shell脚本中的逻辑判断 - 20.6 文件目录属性判断 - 20.7 if特殊用法 - 20.8/20.9 case判断 # 20.5 Shell脚本中的逻辑判断 - 很多脚本可以直接用命令执行,比如之前的那个 ``` [[email protected] ~]# for i in `seq 1 5`;do echo $i;done 1 2 3 4 5 [[email protected] ~]# for i in `seq 1 5` > do > echo $i > 

六十八、shell脚本中的逻辑判断、文件目录属性判断、if特殊用法、case判断

一.shell脚本中的逻辑判断 格式1:if 条件 ; then 语句; fi 格式2:if 条件; then 语句; else 语句; fi 格式3:if -; then - ;elif -; then -; else -; fi if:如果. then:然后. -gt:大于. -lt:小于. -eq:等于. -ne:不等于.noeq. -ge:大于等于. -le:小于等于. 格式1:如果满足条件a大于3,则输出ok.最常用. # if [ $a -gt 3 ]; then echo ok;

shell脚本中的逻辑判断、文件目录属性判断、if特殊用法、case判断

一.shell脚本中的逻辑判断 语法1.格式1if 条件 ; then 语句; fi例:如果a大于3,打印OK [[email protected] ~]# vi 2.sh [[email protected] ~]# bash -v 2.sh #!/bin/bash a=5 if [ $a -gt 3 ] then echo ok fi ok [[email protected] ~]# bash 2.sh ok [[email protected] ~]# 2.格式2if 条件; then

shell脚本中的逻辑判断、文件目录属性判断、 if特殊用法、case判断

shell脚本中的逻辑判断 shell脚本中很多都是逻辑判断,判断某个数值,判断某一个文件,或者某个目录,最后真对判断的某个结果再去做一些操作,在shll脚本中到处都是逻辑判断,如果没有判断就没有办法去做一些操作,不然只能敲命令了, shell中逻辑判断的语法 最常见的语法 :if 条件 ; then 语句; fi 他的格式比较特殊if和fi是相对的,正好对应的,then是if怎么样然后怎么样,这个语法读起来是如果怎么样然后怎么样 如果a的值大于3软后怎么样 [[email protected]

shell脚本中的逻辑判断

shell脚本中的逻辑判断 if 逻辑判断.在shell中if判断的基本语法为: 1)不带else if 判断语句; then command fi 例如: [[email protected] sbin]# cat if1.sh #! /bin/bash read -p "Please input your score: " a if (($a<60)); then echo "You didn't pass the exam." fi 在if1.sh中出现

20.5shell脚本中的逻辑判断20.6文件目录属性判断20.7-9if特殊用法 case判断

20.5shell脚本中的逻辑判断格式1:if 条件 ; then 语句; fi大部分时候都是用的这种格式格式2:if 条件; then 语句; else 语句; fi格式2:if 条件; then 语句; else 语句; fi20.6 文件目录属性判断[ -f file ]判断是否是普通文件,且存在执行过程上面不存在已创建,再次执行就已存在[ -d file ] 判断是否是目录,且存在-d查看是否是目录,不是就创建-e查看是否存在在shell里touch是可以创建目录与文件的,如果目录下已存