【发布时间】:2017-04-16 18:40:50
【问题描述】:
我在一个名为 pwd_ids 的数组中有一些值,当我尝试使用 printf 打印所有值时,它只给出第一个元素,而尝试使用 echo 打印时,它给出所有元素。这背后的原因是什么。下面给出我的例子。
set -A pwd_ids E.1.1.7 E.1.1.9 E.1.1.2 E.1.1.3 E.1.1.4 E.1.1.6 E.1.1.5
echo "${pwd_ids[@]}"
printf "${pwd_ids[@]}\n"
输出:
E.1.1.7 E.1.1.9 E.1.1.2 E.1.1.3 E.1.1.4 E.1.1.6 E.1.1.5
E.1.1.7
【问题讨论】:
-
bash 不是 ksh
-
正如 Cyrus 所说——bash 标记不应用于仅在 ksh 中有效的代码的问题。
-
感谢 Cyrus 和 Charles 的反馈,我被错误地给予了 bash。