完成此作业。
编写一个Bash脚本insert-sort.sh,它按升序对命令行参数列表进行排序。例如,您的命令将类似于: $ insert-sort.sh 7 2 3 9 -1并输入enter。 您的计划将返回:-1 2 3 7 9
这是我到目前为止所拥有的
array=();
for param in "$@"; do
if [ -z "$array" ]; then
array[0]="$param";
else
array[param]="$param";
fi
done
echo ${array[@]}
当我尝试测试脚本时的问题,我得到了不一致的答案。在不应该的时候排序。
例如,如果我运行'/././BASH/insert-sort.sh' 1 3 2
,我会得到1 2 3
如果我跑'/././BASH/insert-sort.sh' 4 2 3
我得到4 2 3
答案 0 :(得分:1)
第一个参数未正确排序。无论其值如何,您始终将其分配给索引0。每隔一个$param
进入第一个插槽。