2015-03-08 144 views

回答

1

的符号是bash中的一种here string,也许一些相关的壳(accordingmkelement0,“一些相关的炮弹”包括在Korn shell ,kshzsh)。

但是,在更大的背景下,与sort一起使用的符号是没有意义的,因为<<< ${arr[@]}中的值是单行数据。由于sort对数据行进行操作,并且一行数据已经按照排序顺序(相对于零其他数据行),因此调用sort就没有意义了。实验:

arr=(3 2 1) 
echo ${arr[@]} 
sort <<< ${arr[@]} 

输出是:

3 2 1 
3 2 1 

到阵列中的数据进行排序,你可能需要的东西,如:

printf "%s\n" "${arr[@]}" | sort 

,输出:

1 
2 
3 
根据需要可以使用

+0

其他两个支持'<<<'的shell是'ksh'和'zsh'。由于“因此已经被排序”可能会令人困惑:'sort'在_lines_(或其部分)上运行,因此根据定义,如果整个输入是_single_行,则无需排序。 – mklement0 2015-03-09 00:46:25

相关问题