免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2039 | 回复: 4
打印 上一主题 下一主题

咨询下if的递增循环 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-01-26 15:36 |只看该作者 |倒序浏览
  1. #!/bin/sh
  2. filepath=/data/comm/resource/mappic/1/3/lv6
  3. x=1212736
  4. y=1048944
  5. expr_x=$((x/8192))
  6. expr_y=$((y/8192))
  7. file=$expr_x,$expr_y.jpg
  8. cd $filepath
  9. if [ -f "$file" ];
  10. then
  11. file=$((`echo $file|awk -F "," '{print $1}'`+1)),$expr_y.jpg
  12. fi
复制代码
以上是我的shell,我要实现的功能是如果/data/comm/resource/mappic/1/3/lv6目录下有相应的文件就对文件名进行递增,但是实际结果却是只递增一次就不在循环,lv6目录下确实有相应的文件,麻烦请指各位前辈指点一二.

论坛徽章:
0
2 [报告]
发表于 2011-01-26 16:20 |只看该作者

  1. > ls
  2. 1,7.jpg  2,7.jpg  3,7.jpg  4,7.jpg

  3. > (file=1,7.jpg;while [[ -f "$file" ]];do file=$((${file%%,*}+1)),7.jpg;echo $file;done)
  4. 2,7.jpg
  5. 3,7.jpg
  6. 4,7.jpg
  7. 5,7.jpg
复制代码

论坛徽章:
0
3 [报告]
发表于 2011-01-26 16:49 |只看该作者
多谢前辈,换成while循环就可以了,if是不是因为变量作用域有问题

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
4 [报告]
发表于 2011-01-27 07:12 |只看该作者
回复 3# redir


    while是循环 语句,可以执行多次,if是条件语句,只是单次执行

论坛徽章:
0
5 [报告]
发表于 2011-01-27 10:14 |只看该作者
这个问题让人有点很无语……
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP