首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么不使用"for file in $0/*;let i=$i+1;done“计算文件?

使用"for file in $0/*;let i=$i+1;done"计算文件的方式存在一些问题。首先,这个命令中的$0代表的是当前脚本的名称,而不是指定的目录。所以这个命令会尝试在当前脚本所在的目录下寻找文件,而不是指定的目录。

另外,这个命令中的语法也存在问题。正确的语法应该是使用通配符来匹配指定目录下的文件,而不是使用$0/这样的形式。正确的语法应该是"for file in /path/to/directory/; do let i=$i+1; done"。

此外,这个命令只是简单地计算指定目录下的文件数量,并没有对文件进行任何处理。如果需要对文件进行进一步的操作,比如读取文件内容或者进行其他处理,还需要在循环中添加相应的代码。

总结起来,使用"for file in $0/*;let i=$i+1;done"计算文件的方式存在目录错误、语法错误以及缺乏文件处理的问题。正确的方式应该是使用正确的目录路径和语法,并根据具体需求添加相应的文件处理代码。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

shell循环语句

文件使用ping命令检测各主机的连通性 1.1、for循环读取文件 for i in `cat 文件名` 1.2、示例:生成随机密码 脚本自动生成一个8位随机密码,大小英文字母和数字 字符串长度...[$i+1] let i++ done 2.3、示例2、猜商品价格游戏 猜商品价格游戏 通过变量RADNOM获得随机数 提示用户猜测并记录次数,猜中后退出循环 #!...until 条件测试操作 do 命令序列 done 3.1、示例1、计算1-50的和值 通过循环累加的方式计算1-50的和值 #!.../bin/bash i=0 sum=0 until [ $i -gt 50 ] do sum=$[sum+i] let i++ done echo "1-50的和为 $sum " 3.2...$i is offline" >> /root/shell4/host_ip_offline.txt fi }& #增加&符号,代表的是将进程放到后台处理,后台命令之间是区分先来后到关系的 done

60110
领券