shell脚本中for循环打开文件夹的问题
时间:10-02
整理:3721RD
点击:
我想问一下按照图片上面的代码 为什么cd $loop这个命令不能执行 ,执行的时候说不能打开,没有这个路径。求大神指点
分析了下你的脚本,你在第一句中for loop in `ls` 中调用了系统命令ls,ls不仅能将当前目录下的文件夹名列出来,还能将独立的文件列出来,cd只能进入文件夹,如果你有ls排在文件夹前面的文件a,则cd a肯定会报找不到路径啊
那它执行到文件夹的时候就能打开吗?
do后面加个if (-d $loop) 排除掉非目录的情况。
OK了谢谢
我现在改成
这样了,可是有些是文件夹的它却不识别,去执行else那句去了,为什么
我好像知道了中间有个文件夹里面没有cps这个路径,所以cd $loop/cps 这句不能执行,然后cd. ./../却执行了,这种情况怎么处理呢
执行“cd $loop/cps"之前用"if -e $loop/cps" 先确认这个路径存在,不存在的话你自己看着办吧。
mark!sks