20.5 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

20.6 文件目录属性判断

[ -f file ]判断是否是普通文件,且存在

[ -d file ] 判断是否是目录,且存在

[ -e file ] 判断文件或目录是否存在

[ -r file ] 判断文件是否可读

[ -w file ] 判断文件是否可写

[ -x file ] 判断文件是否可执行

20.7 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…
[ ] 中不能使用<,>,==,!=,>=,<=这样的符号

20.8/20.9 case判断

格式 case 变量名 in
value1
command
;;
value2)
command
;;
*)
commond
;;
esac
在case程序中,可以在条件中使用|,表示或的意思, 比如
2|3)
command
;;


shell脚本案例
#!/bin/bash
read -p "Please input a number: " n
if [ -z "$n" ]
then

echo "Please input a number."

exit 1
fi

n1=echo $n|sed 's/[0-9]//g'
if [ -n "$n1" ]
then

echo "Please input a number."

exit 1
fi

if [ $n -lt 60 ] && [ $n -ge 0 ]
then

tag=1

elif [ $n -ge 60 ] && [ $n -lt 80 ]

then

tag=2

elif [ $n -ge 80 ] && [ $n -lt 90 ]

then

tag=3

elif [ $n -ge 90 ] && [ $n -le 100 ]

then

tag=4

else

tag=0

fi
case $tag in

1)

echo "not ok"

;;

2)

echo "ok"

;;

3)

echo "ook"

;;

4)

echo "oook"

;;

*)

echo "The number range is 0-100."

;;

esac

转载于:https://blog.51cto.com/13517946/2106491

2018-4-18 Linux学习笔记相关推荐

  1. Linux学习笔记(一) -- 在虚拟机中安装Ubuntu 18.04

    1.安装平台 1.操作系统:Win7 X64 2.虚拟机版本:VMware Workstation 14 Pro 3.ubuntu版本:Ubuntu 18.04 2.安装步骤 ubuntu下载 1.下 ...

  2. Linux学习笔记---命令篇

    Linux学习笔记-命令篇 本笔记是根据尚硅谷的Linux视频,经过自己的总结得出来的笔记,分为两个大章节,一-四章讲的是Linux的文件目录结构.vim编辑器.网络配置和系统管理.进程和服务.第二个 ...

  3. (零)我为什么要写Linux学习笔记?

    我对Linux有强烈的好奇心,兴趣:写学习笔记会让我有成就感:我记忆力实在不好.好吧,其实真正原因是:如果我能把自己学到的知识简明扼要的讲出来,写出来,那便证明我真的学懂了我想学的知识.没时间怎么办? ...

  4. Linux学习笔记-文件权限与路径

    Linux学习笔记-文件与目录 目前从电子信息科学与技术转到了计算机专业,因此想趁着大四比较闲的时候补一些计算机的知识.我想说:你好,生活[斜眼笑]!愿生活温柔以待!哈哈,这是我写的第一篇博客,谨以此 ...

  5. LINUX学习笔记共五部分

    LINUX学习笔记1--LINUX系统命令 1.         界面切换: a)         进入字符界面:按住ctrl+alt+F1: 1.         首先需要进入用户登入,输入用户名和 ...

  6. Linux学习笔记5

    Linux学习笔记5 Linux学习笔记5 系统拥有哪些组 更改所属组 更改所属主 特殊权限 强制位set uid和set gid与冒险位sticky的作用都有什么 文件搜索 Linux的链接文件 系 ...

  7. LINUX学习笔记:31个常用LINUX命令和相关解释

    LINUX学习笔记三: 最近在带新同事,是一个刚入行的萌新,对于linux不是很熟悉,问我怎么来学习. 所以今天接着之前的部分,继续分享一些linux学习资料.有需要的点点保存,没有跳过呗.PS:内容 ...

  8. Linux学习笔记-随即更新-慢速学习

    Linux学习笔记 Linux系统简介 UNIX发展历史和发行版本 开源软件简介 支撑互联网的开源技术 Linux应用领域 Linux学习方法 Linux系统安装 给初学者的建议 学习linux的注意 ...

  9. 嵌入式linux学习笔记--TCP通讯整理

    嵌入式linux学习笔记–TCP通讯整理 之前的项目中使用到了比较多的tcp 通讯相关的知识,一直也没有进行整理,今天准备拿出时间好好的整理一下TCP通讯的整个过程.预计会整理linux和window ...

  10. Linux学习笔记(二) -- Linux学习笔记(二) – 解决VMware主窗口中的虚拟机窗口太小的方法

    1.问题描述 在虚拟机中安装完ubuntu操作系统后,我们会发现ubuntu界面在主窗口中占比很小,如下图所示: 这给操作带来了极大的不便. 2.解决步骤 1.在VMware中启动ubuntu系统: ...

最新文章

  1. atmel c keil 包_Keil C软件与AVR Atmega系列下载器使用
  2. JAVA中的常量定义在class中还是interface中比较合理?
  3. 泛型(比较杂 后期整理)
  4. python与云计算的关系_python map reduce与云计算map/reduce之间的关系?
  5. Web Service 性能测试工具比较
  6. 【项目管理】敏捷和Scrum
  7. oracle老报604和10275,翻出来了 老东西了 , oracle 数据库解析 extent 数据结构解析...
  8. Bailian3179 最长单词【字符串】
  9. 公司有加密需求,需要试用天锐绿盾,该如何操作?
  10. 步进电机驱动C语言代码,单片机控制步进电机系统(C语言源代码)
  11. X5开发团队看板 维护工作 根据计划生成工作 部分代码
  12. 2008秋季-计算机软件基础- vc6 wintc 编译器
  13. Docker简介/安装/使用
  14. 智能路由器-OpenWRT 系列六 (远程迅雷离线下载)
  15. opencv 双目标定操作完整版
  16. C语言>>输入两个字符串,比较这两个字符串是否相同并输出比较结果。要求不用任何字符串处理函数。
  17. python 判断大于等于且小于等于_关于if语句:检查python中值是否大于、小于或等于零的更好方法...
  18. nodejs之setTimeout
  19. 【WIN10】如何关闭右下角输入法的“拼”字
  20. 全金属狂怒云上计算机密码,【攻略向】游戏中所有装备解锁地点

热门文章

  1. 看懂这个故事,轻松实现从技术到管理的华丽转身!
  2. 对搜狐、网易和TOM三大门户网站的SQL注入漏洞检测
  3. 《linux核心应用命令速查》连载十一:pstree:显示进程状态树
  4. 逻辑斯谛(Logistic)回归、参数估计教程
  5. 87相似标准形08——Jordan标准形
  6. Hadoop:Hadoop基本命令
  7. 详细设计 存储分配_【存储论文笔记】Windows Azure Storage
  8. ftp匿名登录_flashfxp4,flashfxp4简介及好用的FTP工具
  9. .vue文件怎么使用_师父给了我一个 .proto 文件,我应该怎么使用?
  10. mysql还原详解_MySQL 备份与还原详解