【发布时间】:2021-12-29 10:57:25
【问题描述】:
我有一个非常简单的脚本名称 tt.sh,如下所示:
listFile=("A" "B" "C" "D")
echo ${listFile[1]} ${listFile[2]}
我尝试使用 source 和 bash 测试此脚本,但得到不同的结果:
./tt.sh
B C
source tt.sh
A B
为什么 source 命令从 1 而不是 0 获取数组的开头? 我正在使用 MacOS
【问题讨论】:
-
无法在 Linux bash 4.4.20(1)-release 上重现。
-
@nhthai,您使用的是哪个版本的 MacOS?
-
作为我接受的答案,问题来自 bash 和 zsh 的不同行为。谢谢大家的检查!
-
你为什么用“linux”来标记它?为什么使用“zsh”?为什么是“壳”?
-
@user1934428。我不是最初的提问者,我只是编辑了问题。但你是对的,nhthai 是从 zsh 采购的。如果您检查 6 天前接受的答案,您会发现问题已经解决。 nhthai 已经承认从 zsh 采购是已接受答案的第一条评论中的问题。 -- 最好的问候 -- 鲁迪
标签: linux bash macos shell zsh