LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 573|回复: 4

[求助] 对子目录下文件属性的判定

[复制链接]
发表于 2007-1-5 23:38:56 | 显示全部楼层 |阅读模式
shell script中这样的语句

for xx in $(ls $1 )
do
       if test -d $xx
       then
            ..................................
        else
            ...................................
        fi
done

无论$1里的是目录,还是文件,都走else分支

我看了看man ls,里面是说ls只是显示文件或目录的内容,是不是就不会显示目录里面文件的属性啊

(就是说test -d $xx永远都不对,test -f $xx也不对)

不知道是不是说清楚了...............
--
 楼主| 发表于 2007-1-5 23:51:11 | 显示全部楼层
就是说如果for xx in $(ls)这样,以当前的目录为参数,就没什么问题

但是for xx in $(ls $1)自行指定参数,就会出问题,不知道为什么,真诚求教......
回复 支持 反对

使用道具 举报

发表于 2007-1-6 00:20:17 | 显示全部楼层
很简单的原因,
路径不对, 本路径没有这个文件,
把路径加上,或转到相应的路径再做
回复 支持 反对

使用道具 举报

发表于 2007-1-6 00:40:36 | 显示全部楼层
for xx in $(ls $1 )
do
if test -d $1/$xx
then
..................................
else
...................................
fi
done
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-6 20:12:17 | 显示全部楼层
解决,谢谢huan和lastart的帮助
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表