如何将BASH主机命令传递给变量并将答案分配给另一个变量

时间:2017-10-18 05:12:57

标签: bash

我正在尝试检查我的DNS TXT条目是否已经传播,所以我编写了这个简单的循环,但是我从主机命令中得到了一个错误,我尝试了很多不同的语法,但似乎都错了。

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

1 个答案:

答案 0 :(得分:1)

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

因此,工作代码是:

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