手机
当前位置:查字典教程网 >脚本专栏 >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 循环中变量作用范围的问题分析】相关文章:

Shell中的函数、函数定义、作用域问题介绍

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

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

shell中冒号的特殊用法分享

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

使用Bash Shell获取文件名和目录名的简单方法

shell中的各种括号的使用方法

linux bash中too many arguments问题的解决方法

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

Shell中的${}、##和%%使用范例

精品推荐
分类导航