頑張ってる
for i in {4..100}
do
is_prime=true
a=$(($i-1))
for divider in {2..$a}
do
b=$(($i % $divider)) # <-- line 9
[ $b -eq 0 ] && echo 'y' #is_prime=false
done
[ is_prime == true ] && print "${i} is prime!"
done
しかし、私は理解しています
$ ./3_largest_prime.sh
./3_largest_prime.sh: line 9: 4 % {2..3}: syntax error: operand expected
(error token is "{2..3}")
答え1
入れたら
set -xv
スクリプトでエラーの原因を検出できます。
スクリプトは次の行を出力します。
+for divider in '{2..$a}'
拡張は発生しません。問題を解決する方法を決定するには、リンクされたコピーをお読みください。