遍历目录 子目录和文件有空格

sh/bash/dash/ksh/zsh等Shell脚本
回复
napolen.huang
帖子: 6
注册时间: 2010-12-05 13:49
送出感谢: 0
接收感谢: 0

遍历目录 子目录和文件有空格

#1

帖子 napolen.huang » 2010-12-11 22:49

使用

代码: 全选

 for file in $1
     do   
        echo $file
     done

这种方式的时候,比如一个文件名为hello world,脚本运行結果是把文件掀开了成hello和world两个部分,
求助正确的方式该怎么写
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45
送出感谢: 0
接收感谢: 9 次

Re: 遍历目录 子目录和文件有空格

#2

帖子 fanhe » 2010-12-12 0:27

本目录的文件的话,这样可以工作
for file in *; do
echo $file
done
还有,你应该用"$1",好习惯是所有变量加双引号
你如果要遍历子目录的话,用外部工具,如find做一下输出控制,如每个文件占一行之类的
头像
trigger
帖子: 1585
注册时间: 2006-10-25 18:08
送出感谢: 0
接收感谢: 0

Re: 遍历目录 子目录和文件有空格

#3

帖子 trigger » 2010-12-12 8:13

while read line
do
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。
napolen.huang
帖子: 6
注册时间: 2010-12-05 13:49
送出感谢: 0
接收感谢: 0

Re: 遍历目录 子目录和文件有空格

#4

帖子 napolen.huang » 2010-12-12 12:57

谢谢2楼fanhe,在每个变量上加上引号就好使了
napolen.huang
帖子: 6
注册时间: 2010-12-05 13:49
送出感谢: 0
接收感谢: 0

Re: 遍历目录 子目录和文件有空格

#5

帖子 napolen.huang » 2010-12-12 13:35

也谢谢3楼的trigger,使用read也挺好用的
回复

回到 “Shell脚本”