bash 循环中变量作用范围的问题分析

 更新时间:2013年01月29日 17:40:34   作者:  
大家在bash编写中,经常需要用到循环,但循环中变量作用范围的问题有些朋友不是很懂,这里简单分享下,方便需要的朋友

先来看一段错误的代码。

复制代码 代码如下:

#!/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

相关文章

  • Shell中特殊字符的用法总结大全

    Shell中特殊字符的用法总结大全

    这篇文章主要给大家总结了关于Shell中特殊字符的相关资料,文中包括分好、&、#、!、$、大于号、单双引号等等一系列特殊字符的用法,通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-08-08
  • Linux Shell脚本的编程之正则表达式

    Linux Shell脚本的编程之正则表达式

    这篇文章主要介绍了Linux Shell脚本的编程之正则表达式的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-11-11
  • linux 文件管理命令之dirname \ find \ finds \ in \ indir详解

    linux 文件管理命令之dirname \ find \ finds \ in \ indir详解

    这篇文章主要介绍了linux文件管理命令之dirname\find\finds\in\indir详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • linux下防火墙开启某个端口号及防火墙常用命令使用(详解)

    linux下防火墙开启某个端口号及防火墙常用命令使用(详解)

    下面小编就为大家带来一篇linux下防火墙开启某个端口号及防火墙常用命令使用(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • Linux 查看端口的占用情况并找出并杀死占用进程的方法

    Linux 查看端口的占用情况并找出并杀死占用进程的方法

    这篇文章主要介绍了Linux 查看端口的占用情况并找出并杀死占用进程的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-08-08
  • Shell脚本去重的几种方法实例

    Shell脚本去重的几种方法实例

    这篇文章主要介绍了Shell脚本去重的几种方法实例,本文直接给出代码实例,需要的朋友可以参考下
    2015-07-07
  • linux 查看端口占用命令实例详解

    linux 查看端口占用命令实例详解

    这篇文章主要介绍了 linux 查看端口占用命令实例详解的相关资料,教大家怎样查看系统端口占用情况,需要的朋友可以参考下
    2017-07-07
  • Linux查看当前使用的shell的方法总结

    Linux查看当前使用的shell的方法总结

    这篇文章总结了在Linux和Unix系统中查看当前使用的shell的几种方法,包括使用$0环境变量、$SHELL环境变量、ps命令、echo命令、readlink命令和grep命令,并通过代码示例讲解的非常详细,需要的朋友可以参考下
    2025-03-03
  • linux每天定时备份数据库并删除十天前数据详细步骤

    linux每天定时备份数据库并删除十天前数据详细步骤

    每天定时备份数据库需要用到Linux的定时任务,利用Linux的crondtab 命令。下面通过本文给大家带来了linux每天定时备份数据库并删除十天前数据详细步骤,感兴趣的朋友一起看看吧
    2018-06-06
  • Linux curl命令详解

    Linux curl命令详解

    这篇文章主要为大家详细介绍了Linux curl命令的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02

最新评论