我通过显示数组中的所有元素来练习 Bash。到目前为止,我有
PATH="\Directory\Stuff"
echo $PATH
Array[0]="dad"
Array[1]="BAD"
Run Code Online (Sandbox Code Playgroud)
如果我说
echo ${Array[0]}
Run Code Online (Sandbox Code Playgroud)
我会输出
dad
Run Code Online (Sandbox Code Playgroud)
同样,访问索引为 1 的数组时,我会得到正确的结果。问题是这行不通:
echo "${Array[*]}"
Run Code Online (Sandbox Code Playgroud)
从像这里这样的在线教程看,我应该期待它打印出来
dad BAD
Run Code Online (Sandbox Code Playgroud)
但我得到了
BAD
Run Code Online (Sandbox Code Playgroud)
注意BAD前有一个空格。
我不确定为什么会发生这种情况。如果有帮助,我将在 Windows 中使用 Cygwin。
我的问题是为什么我不输出“爸爸坏”?
你最有可能有一个流浪回车(又名\r或^M在你的结束)Array[0]。回车意味着“回到当前行的开头”,允许任何后续文本覆盖已经打印的内容。
所以你的echo命令是打印dad,然后立即倒回到行首并打印 BAD,所以你看到的只是 BAD.
要解决此问题,您只需删除回车符。
| 归档时间: |
|
| 查看次数: |
307 次 |
| 最近记录: |