通过脚本案例学习shell(二) --- 通过线性显示/etc/passwd内容了解while read用法

通过脚本案例学习shell(二)

--- 通过线性显示/etc/passwd内容了解while read用法 

版权声明:

本文遵循“署名非商业性使用相同方式共享 2.5 中国大陆”协议

您可以自由复制、发行、展览、表演、放映、广播或通过信息网络传播本作品

您可以根据本作品演义自己的作品

您必须按照作者或者许可人指定的方式对作品进行署名。

您不得将本作品用于商业目的。

如果您改变、转换本作品或者以本作品为基础进行创作,您只能采用与本协议相同的许可协议发布基于本作品的演绎作品。

对任何再使用或者发行,您都必须向他人清楚地展示本作品使用的许可协议条款。

如果得到著作权人的许可,您可以不受任何这些条件的限制。

Designed by 小诺(www.rsyslog.org  dreamfire.blog.51cto.com

需求:要求在屏幕上显示/etc/passwd里面的内容,具体要求如下:

1/etc/passwd每一行字段分7部分,中间用:隔开,要求每一部分线性一个一个显示

2、每一行只显示字段13467五个字段,显示结果如下:

username=root,uid=0,gid=0,homedir=/root,shell=/bin/bash,

脚本思路分析:线性显示需要用while read语句,每一行单独显示需要用for循环,部分字段显示,需要在for循环中嵌套if语句排除不需要显示的内容。

  1. #!/bin/bash 
  2. while read LINE  //定义变量LINE 
  3. do 
  4.   NUM=1 
  5.         for name in  username uid gid homedir shell  //定义变量name 值为后面的username,uid,gid,homedir,shell 
  6.                 do 
  7.                         echo -n "$name=" 
  8.                         echo -n $(echo $LINE  | cut -d: -f$NUM) //以:分割显示 
  9.                         echo -n "," 
  10.                         NUM=$(( $NUM + 1 ))  //第一个字段显示完变量+1 
  11.                                 if [ $NUM -eq 2 ] ||[ $NUM -eq 5 ];then //排除第二个和第五个字段 
  12.                                         NUM=$(( $NUM + 1 )) 
  13.                                 fi       
  14.                         sleep 1 //每一行显示一个字段停顿1秒 
  15.                 done     
  16.  
  17.         echo //每一行显示完插上空的一行 
  18. done </etc/passwd  //将/etc/passwd内容输入到while read循环中 

 

部分脚本分析:

cut -d: -f$num 取每一列以:分割的部分

echo –n 在同一行显示下一行内容,不进入下一行

num=$(($num+1)) 变量进行数值,每次加1

sleep 1  运行过程中停顿1

以下是脚本执行的结果,部分内容未显示出来。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/301659.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

上几个WebAPI就算微服务架构?Too Young!

毋庸置疑&#xff0c;当下是微服务云原生的时代&#xff0c;这是最坏的时代&#xff0c;也是最好的时代&#xff01;机遇和挑战并行&#xff0c;技术人之间的差距在逐渐拉到&#xff01;两极分化严重早在2015年&#xff0c;微服务就已经被诸多大企业认可和推行&#xff0c;被称…

雨雪出行伴侣,优质PVC时尚鞋套,防滑/防水更耐磨

▲数据汪特别推荐点击上图进入玩酷屋随着消费升级越来越多的人愿意购买价格不菲的鞋款大街小巷里涌现出越来越多的Sneakerhead&#xff08;俗称&#xff1a;鞋子发烧友&#xff09;就比如小木每次刚入手一双新鞋就高高兴兴穿出门然而终究免不了碰上“新鞋魔咒”再怎么小心都会被…

又到618,.NET 千万级秒杀架构到底有多牛

年年618&#xff0c;次次高并发。其实这不仅仅是对618下各大电商平台的考验&#xff0c;更是如今每一个互联网应用上线后&#xff0c;会遇到的一个严峻的考验&#xff0c;渡得过 965&#xff0c;渡不过 996。在这个极速膨胀的互联网世界里&#xff0c; .NET 5 正是为了应对与解…

灯泡里的钨丝是怎么放进去的,这个视频解开我20多年的疑惑!

全世界只有3.14 % 的人关注了数据与算法之美白炽灯渐渐从我们的视线里消失了&#xff0c;不得不说这个一个伟大的发明&#xff0c;试想一下要是没有灯&#xff0c;只点蜡烛会有多少人抓狂&#xff0c;那么你知道灯泡里的钨丝是怎么放进去的吗&#xff0c;这个视频给你答案。灯泡…

渤海发现大油田,证券会提示风险,微博回应流量造假,刘国梁制定史上最严奖惩体系,这就是今天的大新闻。...

今天是2月26日农历正月廿二今天星期二有点小忙下面是今天的大新闻渤海发现可供百万人用百年的大油田&#xff08;中化新网&#xff09;中国海油昨天(25日)对外宣布&#xff0c;位于我国渤海海域的渤中19-6气田&#xff0c;测试获得优质高产油气流&#xff0c;确定天然气探明地质…

SQLite.NET (32位) 在64位环境中无法正常调试

解决方法&#xff1a; 1、更换64的DLL 2、在Vs开发环境中&#xff0c;在项目属性里按下图操作&#xff0c;更改目标平台为 x86。 转载于:https://www.cnblogs.com/08shiyan/archive/2013/03/15/2961096.html

华为交换机linux版本号,Cisco和华为交换机常用配置命令总结

Cisco和华为交换机常用配置命令总结一、调试命令思科&#xff1a;Switch#show run 显示所有配置命令Switch#show ip inter brief 显示所有接口状态Switch#show vlan brief 显示所有VLAN的信息Switch#show version 显示版本信息华为&#xff1a;[Quidway]dis cur 显示…

WPF实现消息中心

↑↑↑点击上方蓝字关注我一、概要本文将讲解基于WPF实现一个消息中心的功能&#xff0c;比如常见的软件当中会经常收到服务端推送的“新闻”、“公告”等消息。这个时候就需要对这个需求进行分析了。功能分析如下&#xff1a;•消息内容显示。•消息管理增、删、批量删除。•消…

学Android的学习规划

为什么80%的码农都做不了架构师&#xff1f;>>> 客观地讲&#xff0c;会分为两条线来处理 学术线&#xff1a; 从学术上讲&#xff0c;Android分为几个模块是需要我循序渐进的&#xff1a; 初印象&#xff1a;IDE中Android各项结构 初印象&#xff1a;Android结…

每日一笑 | IE的反射弧也太长了吧......

全世界只有3.14 % 的人关注了数据与算法之美&#xff08;图片来源于网络&#xff0c;侵权删&#xff09;

WPF 用Popup做下拉菜单

今天无聊时看到必应搜索首页的菜单挺好&#xff0c;于是想着模仿一下。。写着写着发现和我之前做的一个MenuItem很像&#xff0c;干脆直接拿来用了。。。看看效果&#xff1a;上图是bing.com首页右上角的下拉菜单&#xff0c;今天就来做了一个这样的。。我承认我偷懒了&#xf…

程序猿都在关注的6个优质公众号

CSDN学院▲长按图片识别二维码关注简介&#xff1a;CSDN学院&#xff0c;中国IT人必备的职业提升平台。在这里&#xff0c;看前辈文章&#xff0c;听专家分享&#xff0c;做一线项目&#xff0c;无畏场景&#xff0c;不限时间的紧跟前沿技术脚步。你的技术进阶之路&#xff0c;…

聊一聊.NET Core结合Nacos实现配置加解密

背景 当我们把应用的配置都放到配置中心后&#xff0c;很多人会想到这样一个问题&#xff0c;配置里面有敏感的信息要怎么处理呢&#xff1f;信息既然敏感的话&#xff0c;那么加个密就好了嘛&#xff0c;相信大部分人的第一感觉都是这个&#xff0c;确实这个是最简单也是最合适…

给孩子讲100个科学道理,不如带他做这些趣味实验!

▲数据汪特别推荐点击上图进入玩酷屋玩具和学习看似是两个对立的东西&#xff0c;孩子天性爱玩&#xff0c;家长却希望孩子能多学习。不一定非要啃课本才能汲取知识&#xff0c;有时候&#xff0c;在轻松有趣的游戏中也能学到课堂上学不到的知识。让学习变得有趣、高效——给孩…

linux服务器出现黄,linux服务器出现严重故障后的原因以及解决方法

linux服务器出现严重故障后的原因以及解决方法发布时间&#xff1a;2011-11-24 16:32:18 作者&#xff1a;佚名 我要评论linux服务器出现严重故障后的解决方法&#xff0c;本文为大家介绍四个步骤解决linux服务器严重故障。1、把系统安装光盘插入&#xff0c;重启机器&…

史上最污技术解读,我竟然秒懂了!

全世界只有3.14 % 的人关注了数据与算法之美或许有不少人对热备&#xff0c;冷备&#xff0c;云备了解不深。今天&#xff0c;数据汪就给大伙科普一下 IT 行业各种备份术语&#xff0c;以后别闹笑话了。1.冷备份假设你是一位女性&#xff0c;你有一位男朋友&#xff0c;于此同时…

linux免费日志分析工具,分享10个优秀的日志分析工具

原标题&#xff1a;分享10个优秀的日志分析工具在网络管理员的日常工作中&#xff0c;对日志文件的分析能够及时了解网络设备或应用的性能数据&#xff0c;以便及时发现问题并及时解决。分析日志文件的时候需要运用到日志分析工具&#xff0c;接下来小编就给大家分享10个优秀的…

BenchmarkDotNet性能测试

BenchmarkDotNet是一款开源的性能测试工具&#xff0c;使用方式非常简单&#xff0c;特别是对实现同一功能的两种方式&#xff0c;犹豫不决时&#xff0c;可以使用它进行个对比。比如我们比较ADO.NET方式查询数据库表&#xff0c;和用Dapper方式获取数据为表&#xff0c;只需要…

每日一笑 | 程序员的日常,这也太真实了......

全世界只有3.14 % 的人关注了数据与算法之美&#xff08;图片来源于网络&#xff0c;侵权删&#xff09;

【转载】分布式系统的理解

2019独角兽企业重金招聘Python工程师标准>>> 1. 如何理解“分布式”&#xff1f; 经常听到”分布式系统“&#xff0c;”分布式计算“&#xff0c;”分布式算法“。分布式的具体含义是什么&#xff1f;狭义的分布是指&#xff0c;指多台PC在地理位置上分布在不同的…