首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bash:为什么echo覆盖以前的echo

Bash:为什么echo覆盖以前的echo
EN

Stack Overflow用户
提问于 2016-05-17 00:07:50
回答 1查看 417关注 0票数 0

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

代码语言:javascript
复制
    PATH="\Directory\Stuff"
    echo $PATH
    Array[0]="dad"
    Array[1]="BAD"

如果我说

代码语言:javascript
复制
    echo ${Array[0]}

我会输出

代码语言:javascript
复制
    dad

同样,我将获得使用索引1访问数组的正确结果。

代码语言:javascript
复制
    echo "${Array[*]}"

这里这样的在线教程来看,我希望它能打印出来。

代码语言:javascript
复制
    dad BAD

但我却得到了

代码语言:javascript
复制
     BAD

请注意,在糟糕之前有一个空格。

我不知道为什么会发生这种事。我用的是Cygwin和windows,如果这有帮助的话。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-17 00:20:18

你很有可能会有一辆迷途马车回来。( \r^M)在Array[0]的末尾。回车意味着“回到当前行的开头”,允许任何后续文本覆盖已经打印的内容。

因此,您的echo命令是打印dad,然后立即回退到行的开头,并打印相应的BAD,所以您看到的只有BAD

要解决这个问题,只需要删除回车。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37265083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档