bashを使ってネットワークアドレスの設定をするためのスクリプトを書いてたときに、入力されたサブネットマスクが正しいかどうかを検証するコマンドがなかったので自前で作ることにした。まず、入力値がIPv4アドレスとして正しいかどうかの判定は、正規表現を使った例などもあるが、ipcalcコマンドを使った方が楽チン。
#!/bin/bash read mask if ! ipcalc -c $mask > /dev/null 2>&1; then echo "ERROR: Invalid format" exit 1 fi