ソースコードは次のとおり整数式 - シェルスクリプト
#!/bin/bash
read nr
if [ $nr -le 2 ]
then
echo " $nr is not prime"
else
d=2
while [ $d -le `expr $nr/2 ` ] && [ `expr $d % $nr ` -ne 0 ]
do
d=$((d+1))
done
if [ $d -le `expr $nr/2 ` ]
then
echo " $nr is not prime"
else
echo " $nr is prime"
fi
fi
"NR" 変数に値6を有し、例えば場合、私はエラーを取得:
./prim.sh: line 14: [: 6/2: integer expression expected
'$((...))'を使っているなら、 'expr'を全く使う必要はありません。 'expr'は比較的不器用です。一般的にバックティックではなく '$(...)'を使う方が良いでしょう。あなたは '' '組み込み - 私はそれを気に入っていませんが、私は奇妙で古代です(そしてそれは表記法の一貫性についての私のアンティークな感受性に害を与えます)。 –