【问题标题】:While Do loop and variables in a bash script?虽然在 bash 脚本中执行循环和变量?
【发布时间】:2011-07-07 19:01:27
【问题描述】:

我是一名 PHP 程序员,正在编写一些 BASH 脚本,但我不确定全局变量是如何工作的。

我想为提供的文件中的每一行增加 3 个变量。但是,当我到达底部时,变量仍然设置为 0。如何访问在 WHILE DO 循环中递增的变量?我只是想在最后附和它们..

据我了解,我们在 kornshell

#!/bin/bash

typeset -i i=0
typeset -i t1=0
typeset -i t2=0


sed 1d $1 |  \

while read word1 word2 word3 word4 word5 
do
        i=i+1
        t1=t1+$word4
        t2=t2+$word5
done

echo $i
echo $t1
echo $t2


exit 0

【问题讨论】:

    标签: linux bash unix scripting while-loop


    【解决方案1】:

    【讨论】:

    • 将它们分组到一个子shell中效果很好。如果这是最佳做法,想听听其他人的意见。
    • @Wes:没有“最佳实践”。使用适合情况的任何东西。链接中显示的每种技术都有相应的应用程序。您问题中的简单脚本将适用于其中任何一个。当您的脚本变得复杂并且您必须不断移动右大括号以包含更多、更多、更多时,将所有内容分组到子 shell 中的问题就出现了。在 Bash 中,我会更频繁地使用进程替换技术。但有时,您希望在顶部看到输入端,以后不需要使用变量,或者您可以将循环放在函数中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-17
    • 1970-01-01
    • 2020-06-08
    • 1970-01-01
    • 2019-07-20
    • 2017-12-04
    相关资源
    最近更新 更多