Chinaunix首页 | 论坛 | 博客
  • 博客访问: 359165
  • 博文数量: 102
  • 博客积分: 2070
  • 博客等级: 大尉
  • 技术积分: 1019
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-14 11:07
文章存档

2011年(1)

2010年(34)

2009年(37)

2008年(30)

我的朋友

分类:

2008-07-21 11:34:17

今天我们shell小组要进行讨论了,组长出了两到题。
第一题是:“写一个shell脚本,该脚本显示出当前工作目录中的所有目录文件,而不显示其他类型的文件。”
我写 的脚本是:
  1  for lzhp in *  #将*换成($ls) 其效果是一样的
  2         do
  3                 if [ -f "$lzhp" ]
  4                         then
  5                                 echo "$lzhp(file)"
  6                         fi
  7         done
下面的脚本于上面的脚本实现同等功能:
  1 set $(find . -maxdepth 1 -type f -print)                                   
  2 for lzhp in $*
  3         do
  4                 echo "${lzhp#./}"
  5         done


第二题是:”写一个函数,用一个目录名作为函数的参数,将该目录下的所有文件中名字最长的那个文件名写到标准输出上。如果函数的参数不是一个目录,那么就向标准输出一个错误信息,同时返回一个非零退出码退出程序”
我的脚本是:

   liuzhouping()
  {
          i=0
          if [[ -d $1  &&  $# = 1 ]];then
                 k=$1   
                 set $(ls $1)
                 for lzhp in $*
                          do
                                  if [ -f $k/$lzhp ];then
                                          if [ $i -lt ${#lzhp} ];then
                                                  j=$lzhp
                                                 i=${#lzhp}
                                          fi     
                                  fi
                          done
                  echo $j
                  echo "该目录下文件最大长度为:${#j}"
          else
                  echo "你输入的不是目录,或者参数不是只有一个!" 1>&2
                  exit 1
         fi
  }
  liuzhouping $@ 

阅读(658) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2008-07-29 10:02:55

能解释一下lzhp是什么意思吗!谢谢