使用换行符将bash数组写入文件

Håk*_*and 19 arrays bash

如何将数组写入文件,以便每个元素由换行符分隔?

以下不起作用:

testa=( 1 2 3 )
echo "${testa[@]}" > file.txt
Run Code Online (Sandbox Code Playgroud)

(现在元素在一行上用空格分隔)我想避免for为此写一个循环...

anu*_*ava 38

printf改为使用:

printf "%s\n" "${testa[@]}" > file.txt

cat file.txt 
1
2
3
Run Code Online (Sandbox Code Playgroud)

  • @LuisMuñoz不在`bash`.数组与`\n`分开扩展,因此字符串中只出现一个换行符. (4认同)
  • 要每行一项,我必须删除引号: printf "%s\n" ${testa[@]} > file.txt (3认同)