回答:
Bashでは、次に示す他のいくつかの構文よりも簡単な構文を使用できます。
#!/bin/bash
read -p "Enter a number " number # read can output the prompt for you.
if (( $number % 5 == 0 )) # no need for brackets
then
echo "Your number is divisible by 5"
else
echo "Your number is not divisible by 5"
fi
if (( 10#$number % 5 == 0 ))
に強制$number
します。
bc
コマンドの使用方法は次のとおりです。
!/usr/bin/bash
echo “Enter a number”
read number
echo “Enter divisor”
read divisor
remainder=`echo "${number}%${divisor}" | bc`
echo "Remainder: $remainder"
if [ "$remainder" == "0" ] ; then
echo “Your number is divisible by $divisor”
else
echo “Your number is not divisible by $divisor”
fi
expr $number % $divisor
bc
計算に特化しているため、33.3%11.1のようなものを処理できexpr
ます。
私は別の方法でそれをやった。動作するか確認してください。
例1:
num=11;
[ `echo $num/3*3 | bc` -eq $num ] && echo "is divisible" || echo "not divisible"
Output : not divisible
例2:
num=12;
[ `echo $num/3*3 | bc` -eq $num ] && echo "is divisible" || echo "not divisible"
Output : is divisible
シンプルなロジック。
12/3 = 4
4 * 3 = 12->同じ数
11/3 = 3
3 * 3 = 9->同じ数ではない
構文の中立性と、これらの部分のあからさまな中置記法の偏りを修正するために、nagulのソリューションを使用するように修正しましたdc
。
!/usr/bin/bash
echo “Enter a number”
read number
echo “Enter divisor”
read divisor
remainder=$(echo "${number} ${divisor}%p" | dc)
echo "Remainder: $remainder"
if [ "$remainder" == "0" ]
then
echo “Your number is divisible by $divisor”
else
echo “Your number is not divisible by $divisor”
fi
dc
インストールされていないことを意味します。