私はなぜ受けますか?
./6_sum_square_difference.sh: 11: ./6_sum_square_difference.sh: Illegal number: {1..3}
~のため
#!/bin/sh
summing () {
the_total=0
num_in=$1
for one_num in {1..$num_in}
do
printf "aaaa\n"
the_total=$((the_total+one_num)) # <-- Line 11
done
}
summing 3
if [[ $the_total == 6 ]]; then
echo "equa to 6 "$the_total
else
echo "NOT equal to 6"
fi
printf "total= "$the_total
ベストアンサー1
{1..$num_in}
クシズム/ズシズムです。次のように書く必要があります。
`seq $num_in`
{1..3}
注:bashはコメント内の1_CRなどのコードをサポートしていますが、中{1..$num_in}
括弧拡張は引数置換よりも優先されるため、bashでは機能しません。したがって、パラメータ拡張は最初に実行されるため、機能するksh93またはzshから取得された可能性があります。