為什麼這個腳本可以在 Kali 上使用 bash,但不能在 Xubuntu 上使用 bash?

為什麼這個腳本可以在 Kali 上使用 bash,但不能在 Xubuntu 上使用 bash?

我有一個腳本,是我在家時在 Kali 虛擬機器上編寫的。它在那裡工作得很好,但現在我正在安裝 Xubuntu,但它根本不工作。我透過 help 指令使用的確切 shell 是 GNU bash 版本 4.2.25。我不確定我家裡有什麼外殼(假設它是最新版本)。我假設我在這裡工作的 shell 比較舊,因此不支援我在腳本中使用的一些東西?當我在這裡運行它時,它會列印出頁首和頁腳,但中間沒有列印任何內容。任何幫助或建議將不勝感激。

#!/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 ""

如果管道位於行尾,則不需要續行。如果您想要發表評論,請將它們放在管道上方的區塊中。

相關內容