如何做一个语句来检查某物是否可以被其他东西整除而没有余数(BASH)

24 unix script bash

#!/bin/bash


Echo “Enter a number”

Read  $number

If [$number ] ; then 

Echo “Your number is divisible by 5”

Else

Echo “Your number is not divisible by 5”

fi
Run Code Online (Sandbox Code Playgroud)

if [$number] 语句是我不知道如何设置的

Den*_*son 43

您可以在 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
Run Code Online (Sandbox Code Playgroud)


qua*_*ote 11

不需要bc,只要它是整数数学(尽管浮点数需要 bc):在 bash 中,(( ))运算符的工作方式类似于expr

正如其他人指出的那样,您想要的操作是modulo (%)

#!/bin/bash  

echo "Enter a number"
read number

if [ $(( $number % 5 )) -eq 0 ] ; then
   echo "Your number is divisible by 5"
else
   echo "Your number is not divisible by 5"
fi
Run Code Online (Sandbox Code Playgroud)


小智 4

怎么样使用bc命令:

\n\n
!/usr/bin/bash\n\necho \xe2\x80\x9cEnter a number\xe2\x80\x9d\nread number\necho \xe2\x80\x9cEnter divisor\xe2\x80\x9d\nread divisor\nremainder=`echo "${number}%${divisor}" | bc`\necho "Remainder: $remainder"\n\nif [ "$remainder" == "0" ] ; then\n        echo \xe2\x80\x9cYour number is divisible by $divisor\xe2\x80\x9d\nelse\n        echo \xe2\x80\x9cYour number is not divisible by $divisor\xe2\x80\x9d\nfi\n
Run Code Online (Sandbox Code Playgroud)\n