bash 循环中变量作用范围的问题分析_linuxshell教程-查字典教程网
bash 循环中变量作用范围的问题分析
bash 循环中变量作用范围的问题分析
发布时间:2016-12-28 来源:查字典编辑
摘要:先来看一段错误的代码。复制代码代码如下:#!/bin/bashforxin`ls*/.*/.*`cat$x|doecho$xwhilerea...

先来看一段错误的代码。

复制代码 代码如下:

#!/bin/bash

for x in `ls */.*/.*`

cat $x|do echo $x

while read line

do

c=`echo $line|awk -F'(' '{print $1}'`

#echo $c

i=$((i+$c))

done

echo

done

echo $i

以上代码有什么问题呢?

cat之后的管道会使i的值没有被加1。

正确的方法:

复制代码 代码如下:

#!/bin/bash

for x in `ls */.*/.*`

do echo $x

while read line

do

c=`echo $line|awk -F'(' '{print $1}'`

#echo $c

i=$((i+$c))

done<$x

echo

done

echo $i

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新linuxshell学习
    热门linuxshell学习
    脚本专栏子分类