Так не пойдет конвейерная команда в скрипте последовательно собирается
#!/bin/bash
_rConfPut="/flash/skr/route"
function valid_ip()
{
local ip=$1
local stat=1
if [[ $ip =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
OIFS=$IFS
IFS='.'
ip=($ip)
IFS=$OIFS
[[ ${ip[0]} -le 255 && ${ip[1]} -le 255 \
&& ${ip[2]} -le 255 && ${ip[3]} -le 255 ]]
stat=$?
fi
return $stat
}
for _rFile in `find $_rConfPut -type f`
do
echo $_rFile
_cmdRun=""
_cmdChek=""
while read line; do
_cmdChek=""
_cmdRun=""
set -- $line
#echo "$1 $2 $3 $4"
if valid_ip $1; then
_cmdRun="route add -net $1"
_cmdChek="netstat -rn | grep $1"
if valid_ip $2; then
_cmdRun="$_cmdRun gw $2"
_cmdChek="$_cmdChek | grep $2"
if valid_ip $3; then
_cmdRun="$_cmdRun netmask $3"
_cmdChek="$_cmdChek | grep $3"
fi
if [ "$4" != "NULL" ]; then
_cmdRun="$_cmdRun dev $4"
_cmdChek="$_cmdChek | grep $4"
fi
#echo "$_cmdRun"
echo "$_cmdChek"
$_cmdChek
# Проверяем существование маршрута
#WER=`$_cmdChek`
#ec$WER"
#if [ $? -ne 0 ]; then
#if $_cmdChek; then
# echo "yes"
#else
echo "no"
#fi
fi
fi
done < $_rFile
done