Marcio Katan wrote:

Ol� Lista. Tem um bom tempo que n�o pratico com shell script e comecei a fazer um script e o "IF" n�o t� funcionando. Algu�m sabe o porqu�? Segue abaixo o script.




Marcio,

ifconfig | head -n2 | tail -1 | grep -E "inet" | cut -d: -f #ERRADO
Da forma acima o endereco ip nao e pego pois o parametro -d: esta errado.

ifconfig |grep Bcast |awk '{print $2}' |cut -d ":" -f2 #CERTO
Observe que usei awk e alterei tambem o cut com a flag -d ":" -f2 , onde o f esta
colado ao 2 :)
--------------------------------------------------------------------------------


 Tente a versao alterada abaixo!
repare em set -x logo ao inicio, use-o para debugar seu scripts.
 Use outros lacos como case por exemplo que melhoraria
o algoritmo.

Abracos e saude.

--------------------------------------------------------------------------------
#!/bin/bash
#set -x
clear

DIR_VPN=/etc/vpn
FILE_IP=$DIR_VPN/ip_eth0
FILE_IP_PPP=$DIR_VPN/ip_ppp0
FILE_IP_EXT=$DIR_VPN/ip_rto
FILE_INDEX=$DIR_VPN/index.html

#########################################
# Determinando IP interno - ETH0
#########################################
if [ ! -d $DIR_VPN ]; then
mkdir $DIR_VPN
               if [ ! -d $FILE_IP ]; then
                       touch $FILE_IP
               fi
fi

for IP in "`/sbin/ifconfig |grep Bcast |awk '{print $2}' |cut -d ":" -f2`" ; do
echo $IP > $FILE_IP
echo "O endereco IP de ETH0 $IP"
done
if [ !$FILE_IP_PPP ]; then
touch $FILE_IP_PPP
fi


#########################################
# Determinando IP de PPP0 - host/velox
#########################################

if [ "`/sbin/ifconfig | awk '/ppp/'`" ]; then

for IP_PPP in "`/sbin/ifconfig | awk '/ppp0/,/inet end.: / {print $3}' | tail -1`"; do
echo $IP_PPP > $FILE_IP_PPP
echo "O endereco IP de PPP e $IP_PPP"
# break
# else
done
fi


#########################################
# Determinando IP externo - velox/net
#########################################

if [ -e $FILE_INDEX ]; then
rm -f "$FILE_INDEX"
touch "$FILE_INDEX"
fi
if [ -e $FILE_IP_EXT ]; then
rm -f $FILE_IP_EXT
touch $FILE_IP_EXT
fi

echo "Por favor aguarde, determinando endereco IP externo..."
#########################################
# O script abaixo para localizao
# do endereco IP externo eh de autoria
# de Manuel Pinho - [EMAIL PROTECTED]
#########################################

cd /etc/vpn

wget http://www.whatismyip.com/ > $FILE_INDEX

IPEXT=`awk '/Your IP is/ {print $4}' $DIR_VPN/index.html`

echo $IPEXT > $FILE_IP_EXT

echo "O IP externo  $IPEXT"
#EOF
------------------------------------------------------------------------------------

Time is nature's way of making sure that everything doesn't happen at

once.
-
SlackWare user #349702





--------------------------------------------------------------------------- Esta lista � patrocinada pela Conectiva S.A. Visite http://www.conectiva.com.br

Arquivo: http://bazar2.conectiva.com.br/mailman/listinfo/linux-br
Regras de utiliza��o da lista: http://linux-br.conectiva.com.br
FAQ: http://www.zago.eti.br/menu.html

Responder a