myip - Comando que retorna somente o IP

Publicado por thomaz alberto em 22/05/2013

[ Hits: 7.101 ]

 


myip - Comando que retorna somente o IP



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

Outras dicas deste autor

Como desativar o case sensitive no Freeradius com PostgreSQL

Script para adicionar hosts no Nagios

Nagios - Script de instalação para Debian

Leitura recomendada

Unix Emulator Online

Acompanhando o (bash) shell script - debug

Atualizando script id-velox.pl para autenticar no provedor AOL

Baixando jogos do ClickJogos - UOL

Lendo manpages no Firefox

  

Comentários
[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}'

[2] Comentário enviado por manguejoe em 22/05/2013 - 12:13h


[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

[3] Comentário enviado por stewe em 22/05/2013 - 13:00h


[2] Comentário enviado por manguejoe em 22/05/2013 - 12:13h:


[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&gt;=2 &amp;&amp; NR&lt;=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


valew pela dica de vcs, to começando a aprender linux e shell scripts



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts