Взяв из вышенаписанного самое необходимое, для себя определил вот такую ф-цию:#!/bin/bash
checkip(){
IFS="."
arr=($1)
echo "Кол-во элементов в массиве ${#arr[@]}"
i=0
if [ ${#arr[@]} -ne 4 ]; then
return 0
else
for octet in ${arr[@]}; do
case $octet in
*[!0-9]*|"") return 0;;
esac
if [ $i == 0 ]; then
case $octet in
"255"|"") return 0;;
"0"|"") return 0;;
esac
fi
if [ $i == 3 ]; then
case $octet in
"255"|"") return 0;;
"0"|"") return 0;;
esac
fi
if [ $i == 1 ]; then
case $octet in
"255"|"") return 0;;
esac
fi
if [ $i == 2 ]; then
case $octet in
"255"|"") return 0;;
esac
fi
if [ $octet -lt 0 -o $octet -gt 255 ]; then
return 0
fi
let i=i+1
done
fi
return 1
}
IFS1=" "
while [ $? != 1 ]; do
IFS=$IFS1
echo "Введиете IP адрес: "
read cip
checkip $cip
done