WEB开发网
开发学院软件开发Shell 如何用 Shell 脚本编写递归程序 阅读

如何用 Shell 脚本编写递归程序

 2009-06-30 03:02:00 来源:WEB开发网   
核心提示:UNIX Shell 脚本类似 DOS 的批处理命令,但比较起来 UNIX Shell 的功能更强大,如何用 Shell 脚本编写递归程序,在某些方面,Shell 甚至超过了一些高级语言

  UNIX Shell 脚本类似 DOS 的批处理命令,但比较起来 UNIX Shell 的功能更强大,在某些方面,Shell 甚至超过了一些高级语言。
  
  下边的 Shell 脚本演示了如何用 Shell 脚本编写递归程序。
  
  运行前先执行下述准备命令:
  ln tree.sh /usr/bin/tree
  ln tree.sh /usr/bin/wtree
  ln tree.sh /usr/bin/dtree
  rm tree.sh
  
  # tree.sh
  
  # Depth first Directory list
  dtree() {
  PWD=`pwd|sed 's/\/\$//`
  for d in $*
  do
  echo "${PWD}/$d"
  [ -d "$d" -a -x "$d" ] && {
  cd "$d"
  dtree *
  cd ..
  PWD=`pwd|sed 's/\/\$//` # restore PWD
  }
  done
  }
  
  # Depth first Directory list
  wtree() {
  PWD=`pwd|sed 's/\/\$//`
  for d in $*
  do
  echo ${PWD}/$d
  done
  for d in $*
  do
  [ -d "$d" -a -x "$d" ] && {
  cd $d
  wtree *
  cd ..
  }
  done
  }
  
  # Directory list
  tree() {
  PWD=`pwd|sed 's/\/\$//`
  for d in $*
  do
  echo ${PWD}/$d
  done
  }
  
  # main
  TREE=`basename $0`
  if [ "$1" ]
  then DIR="$1"
  else DIR="."
  fi
  if cd $DIR
  then $TREE *
  else echo "$0: Directory $1 read fail."
  fi
  
  # (End)

Tags:如何 Shell 脚本

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接