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. 【干货分享】dos命令大全
  2. titanium开发教程-03-02自定义tab group
  3. Codeforces Round #579 (Div. 3) F1. Complete the Projects (easy version) 排序 + 贪心
  4. 如何将 Mac Dock 恢复到原始设置?
  5. 图文详解——将本地项目上传到码云(gitee)远程仓库
  6. JVM监控及诊断工具命令行篇之jstatd
  7. 南京邮电大学812自动控制原理高分经验
  8. mencoder 音视频格式转换
  9. Eucalyptus简介
  10. 体验测试软件哪个好用,电脑性能测试软件哪个好?盘点好用的性能测试软件
  11. DXGI抓屏优化扩展:GPU硬件编码保存文件即录像为MP4和FLV,外加麦克风+计算机声音
  12. drl 规则语言 语法_C语言基本语法规则
  13. 【ORACLE】错误代码大全
  14. type_traits 类型萃取
  15. Unity 第三人称 摄像机
  16. 我的世界粘土服务器的虚拟键盘,我的世界boat全键盘版
  17. 八图H5邀请函前置的邀请函加载logo怎么修改的
  18. 人脸情感特征提取(详细)
  19. 小道仙博客【开源个人博客】
  20. 数字验证工程师成长的四个阶段

热门文章

  1. 书单丨5本书带你学习Kubernetes,掌控云计算的未来
  2. 磁盘:最容易被忽略的性能洼地
  3. 这样的书 我改怎么起名呢?
  4. 在python中的使用Libsvm
  5. Linux字体最好看的发行版,如何给任意一款 Linux 发行版添加漂亮的字体
  6. 7-9 成绩转换 (15 分)
  7. SQL Server 分离
  8. Linux驱动的ioctl函数简要说明
  9. ubuntu执行configure配置代码出现unable to guess system type报错
  10. microsoft azure