Shell 脚本 - 编程基础02

1、编写脚本 sumid.sh,计算 /etc/passwd 文件中的第 10 个用户和第 20 用户的 UID 之和;
  • 脚本
#!/bin/bash
UID10=`getent passwd |head | tail -1 | cut -d: -f3`
UID20=`getent passwd |head -20 | tail -1 | cut -d: -f3`
echo UID10=$UID10
echo UID20=$UID20
echo Sum is $[UID10+UID20]
  • 执行结果
[yinxd@centos7 ~]$ ./sumid.sh
UID10=11
UID20=32
Sum is 43
2、编写脚本 sumspace.sh,传递两个文件路径作为参数给脚本,计算这两个文件中所有空白行之和;
  • 脚本
#!/bin/bash
if [ $# == 2 ];then
        SPACE1=`grep '^$' $1 | wc -l`
        SPACE2=`grep '^$' $2 | wc -l`
        echo Number of blank lines in file 1: $SPACE1
        echo Number of blank lines in file 2: $SPACE2
        echo Total number of blank lines:$[SPACE1+SPACE2]
else
        echo "参数个数错误,请指定两个文件!"
fi
  • 执行结果
[yinxd@centos7 ~]$ ./sumspace.sh /etc/yum.conf /etc/vimrc
Number of blank lines in file 1: 3
Number of blank lines in file 2: 7
Total number of blank lines:10
3、编写脚本 sumfile.sh,统计 /etc,/var,/usr 目录中共有多少个一级子目录和文件。
  • 脚本
#!/bin/bash
ETCALL=`ls /etc | wc -l`
VARALL=`ls /var | wc -l`
USRALL=`ls /usr | wc -l`
ETCD=`ls /etc | grep '^d' | wc -l`
VARD=`ls /var | grep '^d' | wc -l`
USRD=`ls /usr | grep '^d' | wc -l`
echo "/etc 目录中有 $ETCD 个一级子目录,$[ETCALL-ETCD] 个文件;"
echo "/var 目录中有 $ETCD 个一级子目录,$[VARALL-VARD] 个文件;"
echo "/usr 目录中有 $ETCD 个一级子目录,$[USRALL-USRD] 个文件。"

  • 执行结果
[yinxd@centos7 ~]$ ./sumfiles.sh
/etc 目录中有 11 个一级子目录,284 个文件;
/var 目录中有 11 个一级子目录,22 个文件;
/usr 目录中有 11 个一级子目录,12 个文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值