Usando comandos *nix portados para Windows

Publicado por George Kihoma em 10/06/2007

[ Hits: 11.146 ]

 


Usando comandos *nix portados para Windows



Caso você esteja "prisioneiro" de uma estação Windows (é difícil convencer seu chefe de que o melhor seria migrar para Linux), você não precisa se conformar com o interpretador de comandos do Windows XP/2000. Basta fazer o donwload das ferramentas em http://unxutils.sourceforge.net/ e descompactá-las no diretório de sua preferência. No pacote existe, além dos comandos específicos em formato EXE (ls, grep etc) um executável de nome sh.exe que emula um interpretador Shell. Dessa forma você pode usar a mesma sintaxe de Shell Script nos seus scripts dentro do Windows.

Um exemplo de utilização é descobrir o seu IP externo via arquivo de lote ou Shell Script dentro do Windows.

1º Caso: obtendo os endereços IP interno e externo via arquivo de lote (.cmd).

Corte o texto abaixo e cole no editor de textos de sua preferência. Caso use o notepad, lembre-se de pedir para salvar como "Todos os arquivos" na opção "Salvar como...":

echo off
rem O uso do echo off elimina a saída das linhas de comentário no
rem terminal
rem Nesse exemplo utilizamos comandos internos do cmd.exe e ports dos
rem comandos *nix
rem obtidos em http://unxutils.sourceforge.net/. Após descompactado o
rem arquivo
rem é necessário incluir o caminho para a pasta wbin no arquivo de lote a
rem ser executado
rem Descomente a linha abaixo (apague o "rem") e inclua o caminho para
rem a pasta wbin
rem set path=%PATH%;"caminho completo até a pasta wbin"
rem Pulando uma linha

printf \n
printf "IP interno - "
rem Capturando o endereço ip interno a partir do comando ipconfig nativo
rem do Windows

ipconfig|grep "IP . ."|cut -c 46-56
rem Pulando uma linha
printf \n
printf "IP externo - "
rem Pegando o arquivo index.html que contém o endereço ip externo em
rem http://www.meuip.com.br

wget -q http://www.meuip.com.br
rem Capturando o endereço ip externo a partir do index.html
cat index.html|grep "Meu IP?"|cut -c 42-55
rem Apagando o index.html
rm index.html
printf \n

2º Caso: usando o interpretador sh.exe fornecido com os demais aplicativos Unxutils.

Copie o script abaixo e cole no editor de textos de sua preferência. Em seguida salve com o nome que desejar (ip.sh, p. ex.) e execute abrindo um prompt do Windows (cmd.exe) e passando o comando sh ip.sh.

Presume-se que você, ao executar este script, já possua o sh.exe no seu path caso contrário o script.sh não será executado.

# Aqui os comentários podem ser feitos como tradicionalmente se faz em
# linguagem shell script

interno=`ipconfig|grep "IP . . ."|cut -c 46-56`

# Pulando uma linha antes e depois da impressão na tela do seu endereço
# IP interno

printf "\nIP interno = $interno\n"

#Pegando o arquivo index.html que contém o endereço ip externo em
# http://www.meuip.com.br. O comando deve estar em um única linha

externo=`wget -q http://www.meuip.com.br;cat index.html|grep "Meu IP?"|cut -c 42-55`

# Pulando uma linha depois da impressão na tela do seu endereço ip
# externo

printf "\nIP externo - $externo\n"

# Apagando o index.html
rm index.html

Dá para quebrar o galho com esses aplicativos.

Outras dicas deste autor

QEMU ou VirtualBox - Testando Pendrives Bootáveis

Boot de uma imagem ISO no HD

Compilando driver de adaptadores Ralink

Debian Lenny com interface gráfica e consumindo 30 MB de RAM

Usando o APT com uma imagem .iso

Leitura recomendada

Iniciando automaticamente o Firestarter com o modo gráfico sem senha

Mostrando datas passadas e futuras com o comando date

Ordenando strings em shell script

FFmpeg: screencast do desktop gravando duas fontes de áudio simultaneamente

Base de dados mais organizada em shell script

  

Comentários
[1] Comentário enviado por removido em 11/06/2007 - 11:25h

Uau! Muito boa essa dica, cara!
Legal poder usar os comandos do linux no windows (odeio o dir)



Contribuir com comentário