博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Shell脚本学习二
阅读量:6820 次
发布时间:2019-06-26

本文共 1021 字,大约阅读时间需要 3 分钟。

  hot3.png

【shell脚本中的逻辑判断】

如果你学过C或者其他语言,相信你不会对if 陌生,在shell脚本中我们同样可以使用
if逻辑判断。在shell中if判断的基本语法为:
1)不带else
if 判断语句;then
          command
fi

在if1.sh 中出现了((a<60))这样的形式,这是shell脚本中特有的格式,用一个小括号或者不

用都会报错,请记住这个格式,即可。执行结果为:

2)带有else

if 判断语句;then
          command
else
           command
fi

执行结果为:

3)带有elif

if 判断语句一;then
    command
elif 判断语句二;then
    command
else
    command
fi

这里的&&表示“并且”的意思,当然你也可以使用|| 表示“或者”,执行结果:

以上只是简单的介绍了if语句的结构。在判断数值大小除了可以用”(())”的形式外,还可以

使用”[]”。但是就不能使用>,<,=这样的符号了,要使用-lt(小于),-gt(大于),-le (小
于等于),-ge (大于等于),-eq (等于),-ne (不等于)。

再看看if中使用&&和||的情况。

shell 脚本中if还经常判断关于档案属性,比如判断是普通文件还是目录,判断文件是否有

读写执行权限等。常用的也就几个选项:
-e :判断文件或目录是否存在
-d :判断是不是目录,并是否存在
-f :判断是否是普通文件,并存在
-r :判断文档是否有读权限
-w :判断是否有写权限
-x :判断是否可执行
使用if判断时,具体格式为:if[-efilename];then

在shell 脚本中,除了用if来判断逻辑外,还有一种常用的方式,那就是case了。具体

格式为:
case 变量in
value1)
    command
    ;;
value2)
    command
     ;;
value3)
    command
    ;;
*)
    command
    ;;
esac
上面的结构中,不限制value的个数,*则代表除了上面的value外的其他值。下面笔者写一
个判断输入数值是奇数或者偶数的脚本。

$a的值或为1或为0,执行结果为:

case脚本常用于编写系统服务的启动脚本,例如/etc/init.d/iptables中就用到了,你不妨去查

看一下。

转载于:https://my.oschina.net/jiaozg/blog/93689

你可能感兴趣的文章
volley3--Volley类
查看>>
topcoder srm 620 div1
查看>>
20151124001 关闭C#主窗体弹出是否关闭对话框
查看>>
java 判断元素是否在数组内
查看>>
java。equal()和== 的区别
查看>>
leetcode34. 在排序数组中查找元素的第一个和最后一个位置
查看>>
扩展欧几里德算法~简单
查看>>
flex shareObject对象详解
查看>>
介绍一下Mojolicious的DOM选择器Mojo::DOM和它的Mojo::UserAgent(比较Web::Scraper)
查看>>
【转】Spring源码编译
查看>>
poj2184
查看>>
找规律 Codeforces Round #309 (Div. 2) A. Kyoya and Photobooks
查看>>
(转)父类与子类之间变量和方法的调用
查看>>
C#生成唯一的ID保存到数据库
查看>>
memcached整理の实践
查看>>
Codeforces Round #157 (Div. 2) A. Little Elephant and Chess
查看>>
Python并发编程之:多进程
查看>>
JDK动态代理代理类的生成与缓存
查看>>
error C2065: “SHCNE_DELETE”: 未声明的标识符
查看>>
如何委婉的发短信拒绝老师的offer
查看>>