0
この課題の作業。Bashの位置パラメータコマンドラインのソートの問題
コマンドラインパラメータのリストを昇順でソートするBashスクリプトinsert-sort.shを作成します。たとえば、コマンドは次のようになります。 $ insert-sort.sh 7 2 3 9 -1と入力してEnterキーを押します。 あなたのプログラムが返されます:-1 2 3 7 9
これは私がスクリプトをテストしようとしたとき、私は、これまで
array=();
for param in "[email protected]"; do
if [ -z "$array" ]; then
array[0]="$param";
else
array[param]="$param";
fi
done
echo ${array[@]}
問題を抱えている、私は一貫性のない答えを得るものです。ソートされていないときにソートされます。例えば
私は'/././BASH/insert-sort.sh' 1 3 2
を実行した場合、私は'/././BASH/insert-sort.sh' 4 2 3
を実行する場合、私は最初のパラメータが正しくソートされていない4 2 3
はい、わかります。しかし、3 2は最初に2 3にソートされ、2回目にソートされません。返信btwありがとう。 – itproxti
_ "このスクリプトには何も並べていません。" _ JohnKugelmanの修正では、コードはソートを行います。それがbash配列の仕組みです。 (ただし、負の数では機能しません)。 – John1024