南京门户网站制作,喜欢做木工 网站,wordpress 商场模板,怎么建立自己的个人网站通过脚本案例学习shell#xff08;二#xff09;--- 通过线性显示/etc/passwd内容了解while read用法 版权声明#xff1a; 本文遵循“署名非商业性使用相同方式共享 2.5 中国大陆”协议您可以自由复制、发行、展览、表演、放映、广播或通过信息网络传播本作品您可以根据本…通过脚本案例学习shell二 --- 通过线性显示/etc/passwd内容了解while read用法 版权声明 本文遵循“署名非商业性使用相同方式共享 2.5 中国大陆”协议 您可以自由复制、发行、展览、表演、放映、广播或通过信息网络传播本作品 您可以根据本作品演义自己的作品 您必须按照作者或者许可人指定的方式对作品进行署名。 您不得将本作品用于商业目的。 如果您改变、转换本作品或者以本作品为基础进行创作您只能采用与本协议相同的许可协议发布基于本作品的演绎作品。 对任何再使用或者发行您都必须向他人清楚地展示本作品使用的许可协议条款。 如果得到著作权人的许可您可以不受任何这些条件的限制。 Designed by 小诺www.rsyslog.org dreamfire.blog.51cto.com 需求要求在屏幕上显示/etc/passwd里面的内容,具体要求如下 1、/etc/passwd每一行字段分7部分中间用:隔开要求每一部分线性一个一个显示 2、每一行只显示字段1、3、4、6、7五个字段显示结果如下 usernameroot,uid0,gid0,homedir/root,shell/bin/bash, 脚本思路分析线性显示需要用while read语句每一行单独显示需要用for循环部分字段显示需要在for循环中嵌套if语句排除不需要显示的内容。 #!/bin/bash # while read LINE //定义变量LINE do NUM1 for name in username uid gid homedir shell //定义变量name 值为后面的usernameuidgidhomedirshell do echo -n $name echo -n $(echo $LINE | cut -d: -f$NUM) //以:分割显示 echo -n , NUM$(( $NUM 1 )) //第一个字段显示完变量1 if [ $NUM -eq 2 ] ||[ $NUM -eq 5 ];then //排除第二个和第五个字段 NUM$(( $NUM 1 )) fi sleep 1 //每一行显示一个字段停顿1秒 done echo //每一行显示完插上空的一行 done /etc/passwd //将/etc/passwd内容输入到while read循环中 部分脚本分析 cut -d: -f$num 取每一列以分割的部分 echo –n 在同一行显示下一行内容不进入下一行 num$(($num1)) 变量进行数值每次加1 sleep 1 运行过程中停顿1秒 以下是脚本执行的结果部分内容未显示出来。