#!/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
câu lệnh if [$ number] là những gì tôi không biết cách thiết lập
#!/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
câu lệnh if [$ number] là những gì tôi không biết cách thiết lập
Câu trả lời:
Bạn có thể sử dụng một cú pháp đơn giản hơn trong Bash so với một số cú pháp khác được hiển thị ở đây:
#!/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 ))
buộc $number
phải được hiểu là cơ sở 10 (thay vì cơ sở 8 / bát phân được ngụ ý bởi số 0 đứng đầu).
Không cần bc miễn là toán học số nguyên (bạn sẽ cần bc cho dấu phẩy động): Trong bash, toán tử (()) hoạt động như expr .
Như những người khác đã chỉ ra thao tác bạn muốn là 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
Làm thế nào về việc sử dụng bc
lệnh:
!/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
chuyên về tính toán, nó có thể xử lý những thứ như 33,3% 11,1 có expr
thể sẽ bị sặc.
Câu trả lời của Nagul là tuyệt vời, nhưng chỉ cần fyi, hoạt động bạn muốn là mô đun (hoặc modulo) và nói chung người vận hành %
.
Tôi đã làm nó theo một cách khác. Kiểm tra nếu nó làm việc cho bạn.
Ví dụ 1 :
num=11;
[ `echo $num/3*3 | bc` -eq $num ] && echo "is divisible" || echo "not divisible"
Output : not divisible
Ví dụ 2:
num=12;
[ `echo $num/3*3 | bc` -eq $num ] && echo "is divisible" || echo "not divisible"
Output : is divisible
Logic đơn giản.
12/3 = 4
4 * 3 = 12 -> cùng số
11/3 = 3
3 * 3 = 9 -> không cùng số
Chỉ vì lợi ích của tính trung lập cú pháp và sửa đổi sai lệch ký hiệu công khai xung quanh các phần này, tôi đã sửa đổi giải pháp của nagul để sử dụng 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
cài đặt.