- ベストアンサー
BシェルでのIPアドレス範囲判定
こんにちは。 Bシェルにて、IPアドレスの範囲におさまっているかどうかの 判定を行う処理になりますが、このような関数など、ご存知の方が いればお願いします。 OSは、HP-UXになります。 例:192.168.1.0~192.168.1.255のIP範囲として、 192.168.1.11が、IP範囲かどうかを調べる処理です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
bashなら多少は楽ですが。 shだと、 OIFS="$IFS" IFS=. set X $IP IFS="$OIFS" shift ANS=OK case $# in 4) ;; *) ANS=NG ;; esac case "$1.$2.$3" in 192.168.1) ;; *) ANS=NG ;; esac case "$4" in [0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]) ;; *) ANS=NG ;; esac のようにセパレータIFSを使って分解し、caseをつかったパターンマッチでやるしかないです。
その他の回答 (1)
- sakusaker7
- ベストアンサー率62% (800/1280)
回答No.1
純粋にシェルスクリプトの構文の範疇で、外部ツールは一切使用しない。 という前提でしょうか? また、素のBourne Shellで、bashとかではないのですね?
質問者
補足
そのとおりです。 ツールは使わず、シェルのみになります。
補足
返事遅くなってすいません。 成功しました。 ありがとうございました。