私はいくつかのシェル スクリプトを学習しようとしていますが、ccna の学習と組み合わせるとよいと思います。そのため、ユーザーから提供された IP アドレスとサブネットマスクに基づいてネットワーク デバイスをスキャンする簡単なスクリプトを作成しています。ホストが属しているネットワークを特定するには、次のコード行を使用しますが、エラーが発生し続けます。
read -p "Geef een IP-adres op " i
read -p "Geef een subnetmask op " s
IFS=. read -r i1 i2 i3 i4 <<< $i
IFS=. read -r m1 m2 m3 m4 <<< $s
ip=`printf "%d.%d.%d.%d\n" $i1 $i2 $i3 $i4`
mask=`printf "%d.%d.%d.%d\n" $m1 $m2 $m3 $m4`
#bepaal netwerk id
id=`printf "%d.%d.%d.%d\n" "$((i1 & m1))" "$((i2 & m2))" "$((i3 & m3))" "$((i4 & m4))"`
エラーは次のように生成されます。
192 168 178 15 & 0xff 0xff 0xff 0x00: syntax error in expression (error token is "168 178 15 & 0xff 0xff 0xff 0x00")
理由を教えてくれる人はいますか?