Por que esse script funciona com o bash no Kali, mas não com o bash no Xubuntu?

0

Eu tenho um script que fiz quando estava em casa em uma máquina virtual Kali. Ele funciona perfeitamente lá, mas agora estou trabalhando na minha instalação do Xubuntu e não está funcionando. O shell exato que estou usando através do comando help é o GNU bash versão 4.2.25. Não tenho certeza de qual shell eu tenho em casa (suponha que seja a versão mais recente). Eu estou supondo que o shell que tenho aqui no trabalho é mais antigo e, portanto, não suporta algumas das coisas que estou usando no script? Quando eu o executo aqui, ele imprime o cabeçalho e o rodapé, mas nada entre eles. Qualquer ajuda ou conselho seria apreciado.

#!/bin/bash

echo ""
echo "######## WHOIS: "$1

# Whois using the inputted parameter
whois $1 |\

# Remove EOL characters
tr -d '52' |\

# Remove spaces
sed 's/^ *//' |\

# Remove unnecessary words from output
grep -v -e "@" -e "http://" -e "WHOIS" > temp.txt

# Display all of the date lines
egrep -i "ate: " temp.txt

# Remove the tmp file
rm -rf temp.txt

echo "------- DONE!"
echo ""
    
por Egrodo 19.05.2016 / 15:20

1 resposta

1

Seus comentários e linhas em branco estão destruindo a conectividade do pipe. Use isto:

#!/bin/bash

echo ""
echo "######## WHOIS: "$1

whois $1 |
tr -d '52' |
sed 's/^ *//' |
grep -v -e "@" -e "http://" -e "WHOIS" |
egrep -i "ate: " 

echo "------- DONE!"
echo ""

Você não precisa de uma continuação de linha se o tubo estiver no final da linha. Se você quiser seus comentários, coloque-os em um bloco acima do pipeline.

    
por 19.05.2016 / 16:01