Sabemos que não tem um comando específico pra trazer apenas o IP da máquina, e que
ifconfig resolve, mas, fazer um comando que
retorna algo específico, é muito legal.
Baseado no ifconfig, fiz um comando simples, muito besta (hehehe).
Abra um terminal, como root, e crie um arquivo:
# > arquivo
Abra o arquivo. Com o
nano ou com o editor que você preferir:
# nano arquivo
Copie e cole o texto abaixo no "arquivo" criado:
#!/bin/bash
sip="/tmp/sip"
aux="/tmp/aux"
ifconfig > $sip
cat $sip | awk 'NR>=2 && NR<=2' > $aux
exibir="`cat $aux | awk '{print $3}'`"
rm $aux |rm $sip
echo "$exibir"
Salve o arquivo.
Sem sair do diretório, copie e cole no terminal o seguinte comando:
# cat arquivo > /bin/myip ; chmod 7777 /bin/myip
Ou:
# cp arquivo /bin/myip ; chmod 7777 /bin/myip
Dê a permissão que quiserem, em vez do 7777. Porém, sabemos que o ifconfig retorna valor como root no
Debian, então, o comando
myip não funcionará como usuário normal.
Modo de usar: no terminal, como root, digite
myip e aperte o Enter, na linha seguinte aparece o IP, como abaixo... semelhante ao
comando hostname:
# myip
192.168.1.48
Simples...
[1] Comentário enviado por mcunha em 22/05/2013 - 12:07h:
So uma dica, todas essas linhas poderiam ser substituídas por apenas uma.
#!/bin/bash
ifconfig | awk 'NR>=2 && NR<=2' | awk '{print $3}'
Eu loguei só pra dizer isso também. Vai aqui outra melhoria.
Em vez de colocar o arquivo lá dentro de bin, coloca dentro de /usr/local/bin com permissão 775