#!/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
la déclaration if [$ number] est ce que je ne sais pas comment configurer
Vous pouvez utiliser une syntaxe plus simple dans Bash que certaines des autres présentées ici:
#!/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
Non bc nécessaire tant que son calcul est entier (vous aurez besoin de bc pour virgule flottante cependant): En bash, l'opérateur (()) fonctionne comme expr.
Comme d'autres l'ont fait remarquer, l'opération souhaitée est 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
Comment utiliser la commande 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
La réponse de Nagul est excellente, mais pour le moment, l'opération souhaitée est un module (ou modulo) et l'opérateur est généralement %
.
Je l'ai fait d'une manière différente. Vérifiez si cela fonctionne pour vous.
Exemple 1:
num=11;
[ `echo $num/3*3 | bc` -eq $num ] && echo "is divisible" || echo "not divisible"
Output : not divisible
Exemple 2:
num=12;
[ `echo $num/3*3 | bc` -eq $num ] && echo "is divisible" || echo "not divisible"
Output : is divisible
Logique simple.
12/3 = 4
4 * 3 = 12 -> même numéro
11/3 = 3
3 * 3 = 9 -> pas le même nombre
Vous pouvez également utiliser expr
comme ceci:
#!/bin/sh
echo -n "Enter a number: "
read number
if [ `expr $number % 5` -eq 0 ]
then
echo "Your number is divisible by 5"
else
echo "Your number is not divisible by 5"
fi
Juste dans l'intérêt de la neutralité syntaxique et de la correction du biais de la notation infixe manifeste autour de ces parties, j'ai modifié la solution de nagul pour qu'elle utilise 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