我想将每个数组元素附加到此字符串中,
arr=(col1 col2 col3)
str="to/path/${arr[@]}
输出就像这样
to/path/col1
to/path/col2
to/path/col3
你有什么想法吗?
答案 0 :(得分:4)
使用bash parameter expansion:
arr=(col1 col2 col3)
str=${arr[@]/#/\/path\/to\/}
echo "$str"
/path/to/col1 /path/to/col2 /path/to/col3
正如Charles所说,我们正在从一个数组转换为一个字符串,如果你想迭代结果会产生负面影响。在这种情况下,试试这个:
arr=( "col 1" "col 2" "col 3" )
newarr=()
for elem in "${arr[@]}"; do
newarr+=( "/path/to/$elem" )
done
printf "%s\n" "${newarr[@]}"