美文网首页Linux与后台开发归档
[Bash]关于bash版本发生的数组输出BUG问题

[Bash]关于bash版本发生的数组输出BUG问题

作者: _小老虎_ | 来源:发表于2018-12-05 19:13 被阅读12次

一个奇怪的问题:

#!/bin/bash
set -x
function run {
    local table_arr=(
    "movie"
    "tvplay"
    "comic"
    "shows"
    )

    for val in ${table_arr[@]}; do
        echo $val
    done
}

run
echo ${table_arr[1]}

最终输出

+ run
+ local 'table_arr=(movie tvplay comic shows)'
+ for val in '${table_arr[@]}'
+ echo '(movie'
(movie
+ for val in '${table_arr[@]}'
+ echo tvplay
tvplay
+ for val in '${table_arr[@]}'
+ echo comic
comic
+ for val in '${table_arr[@]}'
+ echo 'shows)'
shows)
+ echo

可以发现 movie和shows输出并不正确,
但是如果去掉local关键字之后,就没有这个问题了,很奇怪。

之后我在另外一台机器测试了一下,没有这个问题
于是对比了一下两台机器bash的版本发现,

# 有bug的机器
$bash --version
GNU bash(bdsh), version 3.00.22(2)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2004 Free Software Foundation, Inc.

# 无bug的
$ bash --version
GNU bash(bdsh), version 4.1.17(2)-release (x86_64-unknown-linux-gnu)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

最终发现是版本的问题,更新就OK了

相关文章

  • [Bash]关于bash版本发生的数组输出BUG问题

    一个奇怪的问题: 最终输出 可以发现 movie和shows输出并不正确,但是如果去掉local关键字之后,就没有...

  • Linux bash 入门 --转自:http://club.t

    BASH的基本语法 ·最简单的例子—— Hello World! ·关于输入、输出和错误输出 ·BASH中对变量的...

  • Bug Bash:Bug大扫除的正确用法

    什么是Bug Bash? Bug Bash即Bug大扫除或者说Bug大扫荡,在产品发布之前,为了保证产品的质量,团...

  • Bug bash

    愿望 养成参加 Bug Bash 的习惯,就像养成到点就吃饭一样的习惯。 一、Bug Bash 名词解释 A Bu...

  • 终端类型判断

    打开终端 若输出是/bin/zsh或zsh表示是zsh类型终端 若输出是/bin/bash或bash表示是bash...

  • bash数组小结

    Bash Shell只支持一维数组。 数组声明方式:bash中数组可以不用声明,直接按照数组赋值方式给数组赋值,b...

  • Bug Board

    记录bug -bash: ./app: no such file or directory Bug产生背景:项目里...

  • bash 数组

    创建 注意,= 两边不能有空格,不同值中间使用空格分割,而不是逗号 ','。 读取 数组下标从 0 开始,用 ec...

  • mac 升级 bash

    由于bash3.2不支持关联数组,需要升级到bash4 方法: brew install bash sudo mv...

  • 2020-08-05 输出文件或目录的绝对路径脚本abspath

    脚本:abspathPython版本 使用 bash 版本

网友评论

    本文标题:[Bash]关于bash版本发生的数组输出BUG问题

    本文链接:https://www.haomeiwen.com/subject/lknwcqtx.html