У меня есть скрипт, который я сделал, когда был дома на виртуальной машине Kali. Там он работает отлично, но сейчас я на работе на своей установке Xubuntu, и он вообще не работает. Точная оболочка, которую я использую через команду help, — GNU bash версии 4.2.25. Я не уверен, какая у меня дома оболочка (предположим, что последняя версия). Я предполагаю, что оболочка, которая у меня здесь на работе, старая и поэтому не поддерживает некоторые вещи, которые я использую в скрипте? Когда я запускаю его здесь, он выводит верхний и нижний колонтитулы, но ничего между ними. Любая помощь или совет будут оценены.
#!/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 ""
решение1
Ваши комментарии и пустые строки разрушают связность труб. Используйте это:
#!/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 ""
Вам не нужно продолжение строки, если конвейер находится в конце строки. Если вы хотите, чтобы ваши комментарии были в блоке над конвейером.