#!/bin/bash i=0 find /usr/share/doc/ -type f -name "*.txt" | while read line do file $line | egrep -q "ASCII\ text" [ "$?" -eq "0" ] && let i+=1 ; echo $(wc -l $line); echo $i done echo $i
问题一:因为while语句放入管道后面会进入子shell,它会从父shell继承$i,但创建或修改的变量($i)不会影响到父shell中。http://www.cnblogs.com/f-ck-need-u/p/7431578.html 问题二:用引号保护变量,这是习惯。http://www.cnblogs.com/f-ck-need-u/p/7427357.html#blog1.4
23,121
社区成员
74,508
社区内容
加载中
试试用AI创作助手写篇文章吧