Chinaunix首页 | 论坛 | 博客
  • 博客访问: 317427
  • 博文数量: 122
  • 博客积分: 1395
  • 博客等级: 中尉
  • 技术积分: 1340
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-03 20:40
个人简介

智者,既能奋发不休,又能尽人事,顺天命

文章分类

全部博文(122)

文章存档

2014年(39)

2013年(46)

2012年(12)

2011年(3)

2010年(20)

2009年(2)

我的朋友

分类: LINUX

2010-03-06 21:25:26


#!/bin/sh
listdir(){
for file in "$1"/*
do
if [ -d "$file" ]
then
listdir "$file"
elif [ -f "$file" ]
then
ls -l "$file"
fi
done
}

listdir "$1"


过程中出现错误,原因有二:
1,如果$file和$1不加上引号,则在处理有空格的文件和目录时,会出现错误。
2,如果用if/else而不用if/elif,当遇到空目录时,会出现“没有此文件或文件夹”的错误。原因在于$1/*没有可展开的文件,则会把“*”当初文件名,如出现诸如 ls -l /tmp/path/*
阅读(1066) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~