我的数组arr
似乎在执行sorted_arr=($(sort<<<${arr[@]}))
后排序。 <<<
在这里意味着什么?
答案 0 :(得分:1)
符号是Bash中的here string,也许是一些相关的shell(according到mkelement0,“一些相关的shell”包括Korn shell ksh
和zsh
)。
但是,在更大的上下文中,与sort
一起使用的符号是没有意义的,因为<<< ${arr[@]}
中的值是单行数据。由于sort
对数据行进行操作,并且单行数据已按排序顺序(相对于其他数据行为0),因此无需调用sort
。试验:
arr=(3 2 1)
echo ${arr[@]}
sort <<< ${arr[@]}
输出结果为:
3 2 1
3 2 1
要对数组中的数据进行排序,您可能需要以下内容:
printf "%s\n" "${arr[@]}" | sort
输出:
1
2
3
根据需要。
答案 1 :(得分:0)
这是一个所谓的&#34; here string&#34;: