手机
当前位置:查字典教程网 >脚本专栏 >linuxshell >bash 循环中变量作用范围的问题分析
bash 循环中变量作用范围的问题分析
摘要:先来看一段错误的代码。复制代码代码如下:#!/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

【bash 循环中变量作用范围的问题分析】相关文章:

Bash Shell中忽略大小写的设置方法

shell脚本中取消重定向的方法实例

bash脚本中if语句的使用方法

Shell脚本for循环语句简明教程

对用户输入的判断的shell实现代码

shell数组常用实例分享

Shell脚本实现apache日志中的状态码分析

shell 随机从文件中抽取若干行的实现方法

bash批量重命名、批量更改后辍的方法

Shell脚本遍历一个日期范围实例

精品推荐
分类导航