shell中局部变量返回值的问题 10C

图片说明

编写了shell脚本,定义函数readDir想统计某一个目录下所有文件的总记录数。在while循环中可以计算出所有文件总记录数total=11,但是for循环外就只能取到预先定义的初始值total=0,调用函数之后,拿到的也是return回来的0,求高手指点

5个回答

这种问题你自己调试便可知道如何执行的:sh -x 程序名字

循环判断错误,或者循环里面语句错误,自己试试

做为函数返回,为什么不赋于一个变量,然后再echo这个变量,echo $?只是上条执行有没错

m0_37674755
飞奔的吉吉 一样的,只要在while循环外边,total的值都是默认值了,所以不是用什么接收结果的问题,而是出了while循环里边赋值就不起作用了,下午我刚写好的时候还是好的,后面不知道改了啥,就不行了。
接近 2 年之前 回复

循环里的$1处是空值

m0_37674755
飞奔的吉吉 不是的,dirName是在上面定义的,这个截图没有截全而已
接近 2 年之前 回复

while处使用了管道导致的

m0_37674755
飞奔的吉吉 while 使用管道也可以遍历呀
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问