2017-10-18 44 views
0

我试图检查,如果我的DNS TXT条目已传播,所以我写了这个简单的循环,但我从主机命令我尝试了许多不同的语法,但都看起来不对。如何通过BASH主机命令一个变量,并将答案分配给另一个变量

while [[ ($basednsentry != $basehost) ]]; do 
    $basehost=$(host -t TXT "$basednsname") 
     sleep 1m 
done 
+2

你什么错误?这对解决你的问题是必要的。 – cramopy

+0

还要检查您的计算机上是否安装了主机实用程序。哪个主机 –

+2

在第二行的'basehost'之前删除'$'。 – codeforester

回答

1

根据@codeforester的评论,问题是变量的左边是$符号。 $不是用于赋值,而是用于扩展变量。此外,在链接@codeforester提供有一个简单的工具提到,立刻发现了这个错误在我的代码:http://www.shellcheck.net/

因此,工作代码为:

while [[ ($basednsentry != $basehost) ]]; do 
    basehost=$(host -t TXT "$basednsname") 
    sleep 1m 
done 
相关问题