在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2465|回复: 8

[求助] shell脚本中for循环打开文件夹的问题

[复制链接]
发表于 2017-7-20 10:37:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
我想问一下按照图片上面的代码 为什么cd $loop这个命令不能执行 ,执行的时候说不能打开,没有这个路径。求大神指点
1500518196083906263457.jpg
发表于 2017-7-28 17:38:12 | 显示全部楼层
分析了下你的脚本,你在第一句中for loop in `ls` 中调用了系统命令ls,ls不仅能将当前目录下的文件夹名列出来,还能将独立的文件列出来,cd只能进入文件夹,如果你有ls排在文件夹前面的文件a,则cd a肯定会报找不到路径啊
 楼主| 发表于 2017-8-2 09:07:28 | 显示全部楼层
回复 2# lingdang_xiao

那它执行到文件夹的时候就能打开吗?
发表于 2017-8-3 10:06:03 | 显示全部楼层
do后面加个if (-d $loop) 排除掉非目录的情况。
 楼主| 发表于 2017-8-3 11:04:21 | 显示全部楼层
回复 4# yuanpin318


   OK了  谢谢
 楼主| 发表于 2017-8-3 14:19:58 | 显示全部楼层
回复 4# yuanpin318


   我现在改成
这样了,可是有些是文件夹的它却不识别,去执行else那句去了,为什么
P70803-142007.jpg
 楼主| 发表于 2017-8-3 14:24:26 | 显示全部楼层
回复 4# yuanpin318


   我好像知道了  中间有个文件夹里面没有cps这个路径,所以cd $loop/cps 这句不能执行,然后cd. ./../却执行了,这种情况怎么处理呢
发表于 2017-8-3 16:55:13 | 显示全部楼层
执行“cd $loop/cps"之前用"if -e $loop/cps" 先确认这个路径存在,不存在的话你自己看着办吧。
发表于 2017-8-7 15:35:10 | 显示全部楼层
回复 1# 冰馨若颜


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

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-3-19 12:28 , Processed in 0.027259 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表