0
我试图检查,如果我的DNS TXT条目已传播,所以我写了这个简单的循环,但我从主机命令我尝试了许多不同的语法,但都看起来不对。如何通过BASH主机命令一个变量,并将答案分配给另一个变量
while [[ ($basednsentry != $basehost) ]]; do
$basehost=$(host -t TXT "$basednsname")
sleep 1m
done
我试图检查,如果我的DNS TXT条目已传播,所以我写了这个简单的循环,但我从主机命令我尝试了许多不同的语法,但都看起来不对。如何通过BASH主机命令一个变量,并将答案分配给另一个变量
while [[ ($basednsentry != $basehost) ]]; do
$basehost=$(host -t TXT "$basednsname")
sleep 1m
done
根据@codeforester的评论,问题是变量的左边是$符号。 $不是用于赋值,而是用于扩展变量。此外,在链接@codeforester提供有一个简单的工具提到,立刻发现了这个错误在我的代码:http://www.shellcheck.net/
因此,工作代码为:
while [[ ($basednsentry != $basehost) ]]; do
basehost=$(host -t TXT "$basednsname")
sleep 1m
done
你什么错误?这对解决你的问题是必要的。 – cramopy
还要检查您的计算机上是否安装了主机实用程序。哪个主机 –
在第二行的'basehost'之前删除'$'。 – codeforester