我有一个脚本,是我在家时在 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 ""
如果管道位于行尾,则不需要续行。如果您想要发表评论,请将它们放在管道上方的块中。