以下のコードは割り当ての一部ですが、なぜ私は "MIN"値を割り当てられないのか理解していない私の頭を机の上に置いています。私はMINとMAXを$ {LIST [0]}に割り当てようとしましたが、最初のインデックスを配置するだけでしたが、配列全体が返されてしまいました。私はこれをCentOS VM上で実行しています(違いは分かりません)。私は最初と2番目の "if"ステートメントの始まりがより良いロジックを必要としていることを知っていますが、私はMINとMAXの出力にもっと関心があります。Unix Scripting - 最小値と最大値の検索(Bashシェル)
#!/bin/bash
LIST=()
read -p "Enter a set of numbers. " LIST
MIN=
MAX=
if [ ${#LIST[*]} == 0 ]; then echo "More numbers are needed."; fi
if [ ${#LIST[@]} -gt 0 ]; then
for i in ${LIST[@]}; do
if [[ $i -gt $MAX ]]; then
MAX=$i
fi
if [[ $i -lt $MIN ]]; then
MIN=$i
fi
done
echo Max is: $MAX.
echo Min is: $MIN.
fi
?空の配列として設定し、readを使用してスカラー値を割り当てます。 LISTを配列として維持するには、-aスイッチをインクルードする必要があります。 – grail