myip - Comando que retorna somente o IP

Publicado por thomaz alberto em 22/05/2013

[ Hits: 9.947 ]

 


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

Executando comandos no telnet do Mikrotik via shell script

Telinha simples de loading.... em Shell Script

Caracteres Gráficos no Emulador de Dos

Como passar parâmetros para um alias no Bash

Verificando montagem de unidade para abrir programa

  

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

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts