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
fifor 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
