2014年马哥Linux的0214课里,写一个脚本,用for循环实现一些命令

2014年马哥Linux的0214课第4个视频里,有个题目是要用for循环来实现显示

/etc/init.d/functions,/etc/rc.d/rc.sysinit,/etc/fstab有多少行。

有很多种实现方法,主要是in后面的写法,但总的来说是大同小异,我先写几个:


#!/bin/bash

#第一种

for fileName in 


{/etc/init.d/functions,/etc/rc.d/rc.sysinit,/etc/fstab};do

#第二种

for fileName in `ls /etc/init.d/functions /etc/rc.d/rc.sysinit /etc/fstab`;do


#第二句,注意变量名要和赋值的时候一致!

wc -l $fileName

#或者也可以写成下方

echo `wc -l $fileName`

done

#第一题完


第二题,写一个脚本,将上一题中三个文件复制到/tmp目录中:

用for循环实现,分别将每个文件的最近一次修改时间改为2011年9月15日13点27分


#!/bin/bash

for fileName in {/tmp/functions,/tmp/rc.sysinit,/tmp/fstab};do

  touch -mt 201109151327 $fileName

done

#第二题完


第三题

写一个脚本,显示/etc/passwd中第3,7,11个用户的用户名和ID号

#!/bin/bash

head -3 /etc/passwd | tail -1 | cut -d: -f1,3

head -7 /etc/passwd | tail -1 | cut -d: -f1,3

head -11 /etc/passwd | tail -1 | cut -d: -f1,3

#完成


这三个题目,第一次做的时候,我在第一题的变量引用方面犯了错,写成了大写的字母,结果程序卡住了,后来才发现,本地变量引用的时候,也是要和赋值时候写的一样的,前面加个dollor符号。


你可能感兴趣的:(linux,循环,for)