编写一个shell程序showlevel.sh,以层次号和缩进格式显示命令行参数目录和参数目录下的全部文件和子目录,如目录参数省略,则显示当前目录的层次结构。

admin2016-05-14  42

问题 编写一个shell程序showlevel.sh,以层次号和缩进格式显示命令行参数目录和参数目录下的全部文件和子目录,如目录参数省略,则显示当前目录的层次结构。

选项

答案程序清单21-4的showlevel.sh在初始化后通过调用递归的Shell程序showl.sh实现本题功能。 程序清单21-4:showlevel.sh #!/bin/sh export level if test$#-eq 0;then showlevel.sh. else if!(test-d$1);then echo Usage:$0 dir exit 1 else #不能放在if外,否则当执行默认目录时, #退出时多执行一次,会死循环 level=0 showl.sh $1 fi fi #showl.sh export level if test-d $i;then iv=$1evel while test$lv-gt 0;do #打印缩进空格 echo-n" " iv=’expr $lv-1’ done echo $level:$i #输出层号和目录名 (cd $i level=’expr $level+1’ for j in*;do showl.sh $j #递归调用Shell过程 done) else iv=$level while test$iv-gt 0;do #输出层号和文件名 echo-n" " iv=’expr $lv-1’ done echo $level:Si。

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

最新回复(0)