位置: 编程技术 - 正文

shell脚本编程之for语句、if语句使用介绍(shell脚本简单例子)

编辑:rootadmin

上部:

面向过程:顺序执行选择执行: if, case循环执行: for, while, until

一、for语句

格式: for 变量 in 列表;do 语句1; 语句2; ... done 例1、写一个脚本,添加个用户,并让每个用户的密码同用户名】

例2、写一个脚本,分别显示 /tmp/1.dir /tmp/2.dir /tmp/3.dir三个文件的时间戳,并将这三个文件被修改的时间改为.

bash的变量类型: 本地变量 局部变量 环境变量 位置变量 :$1、$2、$3、$4.... 特殊变量: $?: 用于保存刚刚执行的命令的状态返回值;0:成功执行;1-:失败,1,2,可以使用exit命令在脚本中自定义脚本执行状态返回值;如果不定义,脚本执行状态返 回值取决于脚本执行结束前最后执行的那个语句的状态;

$@, $*: 所有位置参数; $#: 位置参数的个数; $0: 脚本名称

二、if语句

1、单分支if语句: 格式: if 条件; then语句1语句2 ... fi 例3、写一个脚本,实现如下功能: 如果用户存在,就说明其存在;

例4、写一个脚本,实现如下功能:如果设备/dev/sda3已经挂载,就显示其挂载点;

例5、写一个脚本,实现如下功能: 如果/etc/rc.d/rc.sysinit中有空白行,就显示其空白行数;

2、双分支if语句:

格式: if 条件; then 语句1 语句2 ...else 语句1 语句2 ...fi

例6、写一个脚本,实现如下功能:

如果设备/dev/sda3已经挂载,就显示其挂载点;否则,就说明其未挂载或设备不存在;

3、多分支if语句: 格式: if 条件1; then 语句1 语句2 ...elif 条件2; then 语句1 语句2 ...elif 条件3; then 语句1 语句2 ...else 语句1 语句2 ...fi 例7、写一个脚本: 判断当前主机的CPU生产商,其信息在/proc/cpuinfo文件中vendor id一行中。 如果其生产商为GenuineIntel,就显示其为Intel公司; 如果其生产商为AuthenticAMD,就显示其为AMD公司; 否则,就显示无法识别;

下部:一、bash条件测试: 整数测试 [ expression ] 字符测试 [[ expression ]] 条件测试 test expression test 根据表达式求值的结果返回 0(真)或 1(假)1、整数测试:数值比较 -gt 大于 -ge 大于或等于 -eq 等于 -lt 小于 -le 小于或等于 -ne 不等于

例1:写一个脚本,生成两个随机数,比较其大小;显示大数;

bash有个内置变量:$RANDOM

例2:写一脚本,随机生成一个整数,判定,显示其奇偶性;

例3、写一个脚本:

计算以内所有奇数的和以及所有偶数的和;分别显示之;

例4、计算N以内所有奇数的和以及所有偶数的和;分别显示之;N是通过参数传递过来的正整数;

例5、写一个脚本,完成以下要求:

1、添加个用户user1, user2, ..., user;但要先判断用户是否存在,不存在而后再添加; 2、添加完成后,显示一共添加了几个用户;当然,不能包括因为事先存在而没有添加的; 3、最后显示当前系统上共有多少个用户;

2、bash字符测试: >: 大于 <: 小于 ==: 等于 =~: 判断左边的字符串是否能够被右边的模式所匹配;通常用于[[]]; [[ $opt1 =~ $opt2 ]]一般做行首、行尾锚定;不要加引号 单目: -z $STRING: 为空则为真,不空则为假; -n $STRING: 为空则为假,不空则真;

例6、写一个脚本,判定用户的shell是否为bash;

例7、根据用户shell的结束符是否为sh来判定其是否为登录用户:

二、bash测试之文件测试:

操作符 文件路径 -f: 测试其是否为普通文件,即ls -l时文件类型为-的文件; -d: 测试其是否为目录文件,即ls -l时文件类型为d的文件; -e: 测试文件是否存在;存在为真,否则为假; -r: 测试文件对当前用户来说是否可读; -w: 测试文件对当前用户来说是否可写; -x: 测试文件对当前用户来说是否可执行; -s: 测试文件大小是否不空,不空则真,空则假;短路操作:只要前半段已经可以决定最终结果,后半段就不再运算; 与运算: 真 && 真 = 真 真 && 假 = 假 假 && {真|假} = 假

或运算: 假 || 0 = 0 假 || 1 = 1 真 || =1

例8、给定一个路径,判断如果为普通文件,显示之;如果为目录,显示之; 否则,说无法识别;

综合例子:写一个脚本:可以接受一个参数,其使用形式如下:script.sh {start|stop|restart|status}如果参数为start,创建空文件/var/lock/subsys/script,并显示“Starting script successfully.”;如果参数为stop,则删除文件/var/lock/subsys/script,并显示“Stop script finished.”;如果参数为restart,则删除文件/var/lock/subsys/script后重新创建,并显示“Restarting script successfully.”;如果参数为status,那么:如果/var/lock/subsys/script文件存在,则显示为“script is running.”否则,则显示为“script is stopped.”其它任何参数:则显示“script.sh {start|stop|restart|status}”

推荐整理分享shell脚本编程之for语句、if语句使用介绍(shell脚本简单例子),希望有所帮助,仅作参考,欢迎阅读内容。

shell脚本编程之for语句、if语句使用介绍(shell脚本简单例子)

文章相关热门搜索词:shell脚本编程大全,shell脚本的fi,shell脚本编写 方法,shell脚本 -f,shell脚本 -f,shell脚本的fi,shell脚本 -f,shell脚本编程100例,内容如对您有帮助,希望把文章链接给更多的朋友!

shell去掉文件中空行(空白行)的方法详解 本文详细介绍了使用shell去除文件中的空行的方法,学习下sed、awk、shell文件检测的方法,有需要的朋友可以作个参考。本节内容:shell去掉文件中空行1

Linux shell脚本全面学习入门 1.Linux脚本编写基础1.1语法基本介绍1.1.1开头程序必须以下面的行开始(必须方在文件的第一行):#!/bin/sh符号#!用来告诉系统它后面的参数是用来执行该

Hadoop单机版和全分布式(集群)安装 Hadoop,分布式的大数据存储和计算,免费开源!有Linux基础的同学安装起来比较顺风顺水,写几个配置文件就可以启动了,本人菜鸟,所以写的比较详细

标签: shell脚本简单例子

本文链接地址:https://www.jiuchutong.com/biancheng/376758.html 转载请保留说明!

上一篇:bash脚本输入密码不回显问题的解决方法(bash脚本加密)

下一篇:shell去掉文件中空行(空白行)的方法详解(shell去掉\r)

  • 个人所得税退付手续费是给企业还是会计
  • 代扣代缴附加税减免
  • 房地产开发企业资质证书
  • 老板住酒店的住宿费发票入什么会计科目
  • 什么是清算机构的资产
  • 小规模纳税人申报时间
  • 没有社保的临时工值得干吗
  • 公务员工资待遇标准表
  • 采购设备包含安装费用吗
  • 非独立核算公司一定要体现公司的名称吗
  • 确认主营业务成本的依据是什么单据
  • 材料成本和加工费含税吗
  • 预缴增值税预缴的城建税怎么申报
  • 个体工商户个人经营所得税优惠政策
  • 不合规进项税如何账务处理
  • 蓝字发票是什么票据类型
  • 小规模纳税人贷款利息收入增值税税率
  • 商誉摊销法的优缺点
  • 企业报税网上申报好了怎么导入
  • 支付知识产权服务费账务处理
  • win7文件打开方式选错了如何恢复
  • win10启用网络发现保存后又变成了关闭
  • window10没有激活码
  • islp2sta.exe - islp2sta是什么进程 有什么作用
  • 非货币性资产投资计入什么科目
  • vuejs动态加载组件
  • 微前端Qiankun介绍
  • nginx配置伪静态规则
  • php输出对象
  • 记录一次排查PHP脚本执行卡住的问题
  • 企业购进的商品是什么
  • vue.js in action
  • npm install或npm i后没有依赖包node_modules?
  • 前端 教程
  • 前端使用vue的好处
  • 人工费和劳务费怎么算
  • 2021新财务报表
  • 餐饮发票不见了怎么补
  • 差旅费报销可以直接从公账转到个人账户吗
  • 土方开挖工艺标准
  • 保证人不承担责任的情形(上)
  • 企业会计准则每股收益
  • 残疾人就业相关论文题目
  • 信用证保证金有利息吗
  • 稳岗补贴算不算财政补贴
  • 小规模城建税减半征收2020新政策
  • 应付职工薪酬的账务处理
  • 开具专票需要哪些材料
  • 厂家返利怎么入账
  • 暂估入库的库存商品转成本吗
  • 工业企业外购存货的入账价值一般包括()
  • 收到合同后的整个流程
  • 企业各种盘盈和盘亏分录
  • 小规模小微企业免税销售额
  • 应当设置会计机构的单位有
  • 待摊费用是什么意思
  • sql server的相关技术知识
  • sqlserver存储过程怎么查看
  • windows电脑设置
  • nhaspx.exe是什么
  • win7电脑开机显示屏显示黑屏怎么办
  • ctrl+的作用
  • win10不能注销登录
  • XP IIS5.1 + PHP 5.2.1 + MySQL 5.0.37 + Zend 3.2.6 + phpMyAdmin-2.10.0.2环境配置
  • windows 如何解密
  • vmware怎么配置网络
  • linux防病毒措施
  • 【Cocso2d-x Lua笔记五】quick中的display
  • opengl画矩形函数
  • javascript语言入门教程
  • egret引擎基础入门
  • android中的短信联系人管理,浏览器属于
  • Node.js中的全局变量有哪些
  • 简述javascript
  • javascript日常用途有哪些
  • js写日期
  • 研发费用加计扣除75%还是100%
  • 莱钢生产什么产品
  • 税务罚款会影响宝宝当公务员不
  • 国税局发票打印软件下载
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设