编一个递归的Shell程序rec_ctar.sh,该程序能够显示参数表中指定的所有目录子 树下的全部目录并分别将各个目录下的全部C源程序打包成Cfile.tar文件。如目录下 无C程序,不执行打包操作。如输入命令行: rec_ctar.sh/home/wa

admin2016-05-12  15

问题 编一个递归的Shell程序rec_ctar.sh,该程序能够显示参数表中指定的所有目录子
树下的全部目录并分别将各个目录下的全部C源程序打包成Cfile.tar文件。如目录下
无C程序,不执行打包操作。如输入命令行:
rec_ctar.sh/home/wang/home/lee
将显示/home/wang和/home/lee目录子树中的全部目录,并分别将各个目录下的全部C源程序打包成Cfile.tar文件。当rec_ctar不带参数时,则在当前目录树下执行上述操作。

选项

答案程序清单24-8:rec_ctar.sh #!/bin/sh if test $#-eq 0;then rec ctar.sh. else for i in$*;do #对命令行中的每一个参数 if test-d $i;then #如是目录 echo $ i (cd $i #打开该目录 ls*.c>/dev/null.2>1. #测试是否有c程序 if test$?-eq 0;then tar cf cfile.tar *.c: #将当前目录中全部c源程序打包 fi for j in*;do #对目录中的每一项 rec_ctar.sh $j done) fi done fi。

解析
转载请注明原文地址:https://jikaoti.com/ti/nCEaFFFM
本试题收录于: 操作系统题库理工类分类
0

最新回复(0)