Bash でモジュロ演算子を使用する

Nilesh Katuwal 2022年8月18日
Bash でモジュロ演算子を使用する

この記事では、Bash でモジュロ(%)演算子を使用する方法を学習します。

Bash で Mod(%)演算子を使用する

expr コマンドは、式を評価する場合に Bash で使用する必要があるものです。式から得られた結果を正しく評価するには、算術演算ごとに expr 関数を呼び出す必要があります。

整数の加算、減算、乗算、除算、モジュラスなどの基本的な操作を実行するには、expr という表記を使用する必要があります。

例:

シェルで使用する前に、expr コマンドを実行してモジュロ変数の値を決定する必要があります。したがって、3つの expr 命令を連続して追加し、それらの間にあるパーセンテージ%演算子を使用して、各反復で 2つの整数値のモジュロを決定します。

その結果、3つの剰余値が得られました。

例:

expr 25 % 2
expr 49 % 3
expr 67 % 7

出力:

1
1
4

コードをよりインタラクティブにするために、ユーザー入力をパラメーターとして受け入れましょう。このコードは、2つの read ステートメントを使用してユーザー入力を取得し、それを変数 ab に保存します。入力タイプは整数でなければなりません。

余りは、res 変数とモジュロ%演算子を使用して計算されているため、echo コマンドが実行されます。

例:

read -p "Enter the first number: " a
read -p "Enter the second number: " b
res=$((a%b))
echo "The modulus of $a and $b is: $res"

出力:

Enter the first number: 8
Enter the second number: 3
The modulus of 8 and 3 is: 2

もう一つの例:

for i in {1..10}
do
    if [ $(expr $i % 2) != "0" ]; then
        echo "$i"
    fi
done

上記のコードは、1 から 10 までのすべての奇数をリストしています。

出力:

1
3
5
7
9

関連記事 - Bash Operator