对 Bash 来说非常陌生,对局部/全局变量/子shell 很困惑。我不确定为什么修改后的变量不会在函数末尾打印出来——我试图在文件末尾打印出最终的行数和文件数,但如果我这样做了,它只会打印out 0 因为它们是局部变量。有没有办法打印出修改后的值?
count=0
files=0
find . -type f | while IFC= read -r file;
do
let files=files+1
wc -l $file
count=$(($count+$(wc -l < $file)))
echo "total lines $count ; total files $files"
done
echo $files $count
exit 0