linux100day(day6)--shell脚本简单逻辑
if语句:
if条件语句的使用格式:
1、单分支语句
if 条件;then
执行语句
fi
2、双分支语句
if 条件;then
执行语句1
else
执行语句2
fi
3、多分支语句
if 条件;then
执行语句1
elif;then
执行语句2
elif;then
执行语句3
else
执行语句4
fi
在某些条件判断下,如果不满足该条件,我们必须手动退出程序,否则后面的代码无法执行;
代码正确执行完成后,我们制定 exit 0 为正确退出码;
判断某个文件是否存在
#!/bin/bash # 判断文件是否存在 if [ $# -lt 1 ]; thenecho "At least one argument." exit 1 fi if [ -e $1 ];thenecho "存在" elseecho "不存在" if
判断当前系统上是否有用户的默认shell程序是否为bash程序,如果有,就显示有多少个这类用户,否则就显示没有这类用户;【并且显示出那些用户是bash】
#!/bin/bash # 判断用户的默认shell程序类型declare -i sum=`grep "bin/bash$" /etc/passwd | wc -l`if grep "/bin/bash$" /etc/passwd &> /dev/null ; thenecho "存在 $sum 个用户,shell程序为/bin/bash"grep "/bin/bash$" /etc/passwd | cut -d: -f1exit 0 elseecho "没有这类用户"exit 1 fi
写出一个脚本程序,给定一个文件,比如:/etc/inittab a、判断这个文件中是否有空白行? b、如果有,则显示其空白行的行号,否则显示没有空白行
提示,空白行使用^[[:space:]]*$
#!/bin/bash #B=`grep -n "^[[:space:]]*$" /etc/inittab | wc -l` C=`grep -n "^[[:space:]]*$" /root/abc | cut -d: -f1`if [ $B -eq 0 ] ; thenecho "没有空白行"exit 1 elseecho "有空白行,空白行为 $C 行"exit 0 fi
给定一个文件,如果是普通文件,就显示出来,如果是目录文件,也显示出来,否则就显示“无法识别”
#!/bin/bash # # input() read -t 5 -p ("请输入一个文件:") filename // -t 等待时间 echo # 默认用来换行if [ -n $filename ];thenecho "eg. /etc/fstab"exit 8 fiif [ -f $filename ]; thenecho "$filename 是一个普通文件"exit 0 elif [ -d $filename ];thenecho "$filename 是一个目录文件"exit 0 elseecho "无法识别"exit 1 fi
for语句
for语句格式:
for 变量 in 列表;do
循环体
done
case语句
case分支格式
case 变量 in
PAT1)
执行语句
;;
PAT2)
执行语句
;;
*)
默认执行语句
;;
esac
while 循环
格式:
定义初始值
while 条件判断 ; do
循环体
值变化语句
done
break 跳出循环
continue 跳出本次循环
sleep 延长多长时间后,继续向下执行命令
until
循环 与 while 用法相同
区别:只有 判断条件为 False 的时候,才会进入循环语句;
1到100的偶数和
#!/bin/bash # 偶数和 declare -i sum=0 for i in $(seq 0 2 100);dolet sum+=$i done echo “总数为:$sum”
转载于:https://www.cnblogs.com/Y139147/p/11412748.html
linux100day(day6)--shell脚本简单逻辑相关推荐
- 2021-04-09 linux的shell脚本简单教程
linux 的基本操作(编写shell 脚本) 如果文章中的图片再次挂掉了,麻烦请去公众号内查看 终于到shell 脚本这章了,在以前笔者卖了好多关子说shell脚本怎么怎么重要,确实shell脚本 ...
- shell 脚本简单入门
好久不写shell脚本,有些生疏.总结下shell的语法,以便后续参考,快速捡起来. shell 脚本执行的3种方式: 1). ./xx.sh (xx.sh 需要有执行权限) 2). source x ...
- shell脚本简单切割字符串
为什么80%的码农都做不了架构师?>>> 我们有这样一个字符串: info='abcd;efgh' 现在想获取abcd和efgh,我们可以简单地用cut工具来获取: fstr= ...
- linux100day(day5)--编程原理和shell脚本
通过前面的学习,我们对于linux文件系统有了一定的了解,我们接下来会初步接触编程原理和尝试编写shell脚本来实现功能. day05--编程原理和shell脚本初步认识 编程原理 在早期编程中,因为 ...
- xshell脚本简单代码_十分钟学会写shell脚本
大家好!我是handsomecui,下面我为大家讲解一下shell脚本的写法,讲的不好的地方,欢迎大家留言拍砖. 1.在linux下会写shell脚本是非常重要的,下面我参照例子给大家展示几个脚本,顺 ...
- Linux Shell脚本讲解
目录 Shell脚本基础 Shell脚本组成 Shell脚本工作方式 编写简单的Shell脚本 Shell脚本参数 Shell脚本接收参数 Shell脚本判断用户参数 文件测试与逻辑测试语句 整数测试 ...
- Linux 定时执行shell 脚本
2019年第 85 篇文章,总第 109 篇文章 本文大约2000字,阅读大约需要6分钟 crontab 可以在指定的时间执行一个shell脚本以及执行一系列 Linux 命令. 定时执行shell ...
- Shell脚本实现每个工作日定时执行指定程序
我们可能会遇到这样的情景:必须在每个工作日定时执行Linux服务器上的某个程序.那么有没有办法实现这一功能呢?答案是肯定的.我们可以运用Shell脚本简单实现这一功能. 原理很简单,Shell脚本内部 ...
- shell脚本保姆级教程,附赠100个shell脚本案例!
无论是系统运维,还是应用运维,均可分为"**纯手工"-> "脚本化"-> "自动化"->"智能化"** ...
最新文章
- 如何使用Nodejs爬虫看漫画
- c#导出包含图片的word文档
- python文件处理系列(二):Excel文件读取库xlwings
- 白话科普系列——最好用的浏览器 Chrome,你用了么?
- java 循环map 优雅写法_Java for循环Map集合优化实现解析
- 台式机也颤抖!ROG Strix S5AS性能强悍到底
- JQuery中使用Ajax赋值给全局变量失败异常的解决方法,jqueryajax
- 如何在JavaScript中使用apply(?),call(?)和bind(➰)方法
- dockerHub国内镜像设置
- NAS 百科 —— http://baike.baidu.com/item/NAS%E7%BD%91%E7%BB%9C%E5%AD%98%E5%82%A8
- ZMQ模式详解——发布/订阅模式
- CMU 15-213 Introduction to Computer Systems学习笔记(20) Concurrent Programming
- 怎么制作自己的数据集
- Cadence Orcad capture导出像Visio规格的图纸图文教程及视频演示
- Lattice diamond 编程时工具报出 ID错误问题的解决
- 东方快车谋杀案java_2015年第13本(英文第9本):Murder on the Orient Express 东方快车谋杀案...
- 【Watir Webdriver】自动化上传照片到百度相册
- IPhoneX全屏适配
- 关于Web的欢迎页面的开发设置
- 什么是经验--从程序员角度的思考
热门文章
- step 1 android-sdk-download
- SAP Spartacus 命名的由来
- dockerhub 拉取地址_DockerHub 镜像仓库的使用详解
- 模块降额设计_模块电源需要注意的四个点
- java掩码校验_Java 检查Ip掩码
- git 分支合并_批量删除GIT已合并到master的分支
- java array 元素的位置_java中的两种排序工具Arrays和Collections的使用
- external libraries里没有maven包_Maven企业实战系列(三):彻底看懂maven的体系结构...
- python csv模块追加列,使用Python在CSV上添加新列
- 全国大学生数学建模2019年C题机场的出租车问题论文与代码