Whois 抓取 bash 脚本——if 子句错误

Whois scraping bash script—if clause errors

我写了一个相当简单的脚本来确定哪些单字域仍然可用。我在第 7 行 if 子句中遇到错误,但我看不出有什么问题。

#!/bin/bash

for i in $(cat /usr/share/dict/words);
do
        i="$i.com"
        echo $i processing `date`
        if [ $(whois $i) == "*No match for*" ]
        then
                echo $i AVAILABLE
#               echo "$i">>domains.available.`date "+%Y%m%d"`
        else
                echo $i unavailable
#               echo "$i">>domains.unavailable.`date "+%Y%m%d"`
        fi
done

我在网上查找了类似的简单脚本,它们在语法上似乎完全相同。

试试双括号和引号外的 *

if [[ $(whois $i) == *"No match for"* ]]

引用论点:

if [ "$(whois $i)" == "*No match for*" ]

否则,响应的所有单词将被拆分为 test 命令的单独参数。

或者您可以使用内置的条件运算符。它不会对变量或命令替换进行分词。

if [[ $(whois $i) == "*No match for*" ]]