myip - Comando que retorna somente o IP

Publicado por thomaz alberto em 22/05/2013

[ Hits: 7.754 ]

 


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

Nagios - Script de instalação para Debian

Como desativar o case sensitive no Freeradius com PostgreSQL

Script para adicionar hosts no Nagios

Leitura recomendada

Canivete suíço em bash

Como restaurar as cores do terminal

Instalando Firefox Quantum no Deepin OS

Montando imagens como partições

Criando um alias (atalho) no bash - Slackware 10.2

  

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