Bash脚本:使用' @'无法回显数组中的所有值或' *'

时间:2016-05-17 00:07:50

标签: arrays bash

我通过显示数组中的所有元素来练习Bash。到目前为止,我有

    PATH="\Directory\Stuff"
    echo $PATH
    Array[0]="dad"
    Array[1]="BAD"

如果我说

    echo ${Array[0]}

我将输出

    dad

同样,我将获得正确的结果,使用索引1访问数组。问题是这不起作用:

    echo "${Array[*]}"

here这样的在线教程来看,我应该期待它打印

    dad BAD

但我得到了

     BAD

请注意,BAD之前有一个空格。

我不确定为什么会这样。如果有帮助,我会将Cygwin与Windows一起使用。

我的问题是为什么我不输出"爸爸坏"?

1 个答案:

答案 0 :(得分:4)

你很可能在\r的末尾有一个迷路回车(a.k.a。^MArray[0])。回车意味着“返回到当前行的开头”,允许任何后续文本覆盖已经打印的内容。

因此,您的echo命令正在打印dad,然后立即倒回到行的开头并打印 BAD,所以您看到的只是 BAD

要解决此问题,您只需要删除回车。