可能重复:
bash 中的 Printf 示例不创建换行符
我有一个示例脚本“array-test.sh”,它将三个函数聚合到一个数组中:
[user@host ~]$ cat array-test.sh
#!/usr/bin/env bash
function1() {
printf '%s\n\n\n' "cat"
}
function2() {
printf '%s\n\n\n' "dog"
}
function3() {
printf '%s\n\n\n' "mouse"
}
for function in\
function1\
function2\
function3; do
array[$((index++))]=$($function)
done
echo "${array[@]}"
[user@host ~]$ ./array-test.sh
cat dog mouse
[user@host ~]$
但是,缺少换行符。是什么导致了这种行为?