Tengo un script que hice cuando estaba en casa en una máquina virtual Kali. Funciona perfectamente allí, pero ahora estoy trabajando en mi instalación de Xubuntu y no funciona en absoluto. El shell exacto que estoy usando mediante el comando de ayuda es GNU bash versión 4.2.25. No estoy seguro de qué shell tengo en casa (supongamos que es la última versión). ¿Supongo que el shell que tengo aquí en el trabajo es más antiguo y, por lo tanto, no admite algunas de las cosas que estoy usando en el script? Cuando lo ejecuto aquí, imprime el encabezado y el pie de página, pero nada intermedio. Cualquier ayuda o consejo sería apreciado.
#!/bin/bash
echo ""
echo "######## WHOIS: "$1
# Whois using the inputted parameter
whois $1 |\
# Remove EOL characters
tr -d '\015\032' |\
# 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 ""
Respuesta1
Sus comentarios y líneas en blanco están destruyendo la conectividad de la tubería. Utilizar esta:
#!/bin/bash
echo ""
echo "######## WHOIS: "$1
whois $1 |
tr -d '\015\032' |
sed 's/^ *//' |
grep -v -e "@" -e "http://" -e "WHOIS" |
egrep -i "ate: "
echo "------- DONE!"
echo ""
No necesita una continuación de línea si la tubería está al final de la línea. Si desea sus comentarios, colóquelos en un bloque encima del canal.