手机
当前位置:查字典教程网 >脚本专栏 >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数组常用实例分享

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

linux shell实现获取用户输入指定范围的单个字符的两种方法

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

shell中的循环语句、判断语句实例

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

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

linux ar 命令的使用说明和实例讲解

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

精品推荐
分类导航