2017-10-18 45 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 
相關問題