--null-- 
прямо в точку
to zg:
не могу понять логику, чего нужно добиться в итоге?
скрипт запускает VPN соединение. + у скрипта есть доп ключи.
Код: Выделить всё
пример:
vpn fantom rdp ХХХ
// vpn - название скрипта
// fantom имя конфигурационного файла pptp подключения (/etc/ppp/peers)
// rdp - ключ запуска одновременно и RDP подключения (не обязательный ключ)
// ХХХ - ключ определяющий номер машины к которой осуществляется RDP подключение
Код скрипта:
Код: Выделить всё
#!/bin/sh
case "$2" in
rdp)
set $1 vpn $3
. $0
echo "Try to start rdesktop to addr $MASK.$3"
rdesktop ${MASK}.$3 -u administrator -g 1280x800 -a 16 -f
$0 $1 stop
;;
stop)
echo -n "Stopping vpn: "
poff $1
echo
;;
vpn)
echo -n "Starting vpn: "
pon $1
sleep 6
lolo=`ifconfig | grep "" -c`
lolo=`expr $lolo - 6`
MASK=`ifconfig | grep "" -n | grep $lolo: | awk '{print $3}' | awk -F: '{print $2}' | awk -F. '{print $1"."$2"."$3}'`
lala=`ifconfig | grep $MASK -n -m 1 | awk '{print $1}' | awk -F: '{print $1}'`
lala=`expr $lala - 1`
blabla=`ifconfig | grep "" -n | grep ${lala}: | awk '{print $1}' | awk -F: '{print $2}'`
echo $MASK
route add -net $MASK.0 netmask 255.255.255.0 dev $blabla
;;
*)
$0 $1 vpn
;;
esac
в строке "lolo=`expr $lolo - 6`" цифра
6 определяет количество строк снизу в которой находится маска сети.
Код: Выделить всё
ppp0 Link encap:Протокол PPP (Point-to-Point Protocol)
[b]inet addr:192.168.33.209 P-t-P:192.168.33.201 Mask:255.255.255.255[/b]
ВВЕРХ POINTOPOINT RUNNING NOARP MULTICAST MTU:1396 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
коллизии:0 txqueuelen:3
RX bytes:98 (98.0 B) TX bytes:104 (104.0 B)
надеюсь обьяснил
