2014-11-22 83 views
0

我想設置一個局部變量並在if-then-else腳本中測試該變量......但是它有點奇怪!uboot - 在腳本中設置一個局部變量的測試

  • 組變量 「NEA」 0
  • 創建一個腳本 「x」 和運行.... OK
  • 修改變量 「NEA」 1個
  • 運行腳本的 「x」 再次.. NOK ?!

...我做錯了什麼? - 該行爲與2013.10和2014.01相同

的U-Boot#NEA = 0
的U-Boot#SETENV X「如果ITEST 1個當量$ NEA;然後回聲VAR1;否則回波var0;網絡連接; 「
的U-Boot#運行X
var0
的U-Boot#NEA = 1
的U-Boot#運行X
var0 < < < < < -----所以現在我應該得到 「VAR1」結果
的U-Boot#回聲$ NEA

的U-Boot#SETENV X 「如果ITEST 1個當量$ NEA;然後回顯VAR1;否則回聲var0;網絡;」
的U-Boot#運行X
VAR1 < < < < < -------後,我設置腳本的 「x」 再次它的工作...?!

回答

0

我設置腳本「x」後,它再次工作......?!

這意味着,可變$nea正在所述setenv x期間而非run x(其不再具有一個條件使用變量)期間與它的值取代。

我在做什麼錯?

你做錯了兩件事。
首先,你沒有驗證你的輸入。在將腳本分配給全局環境變量後,您應該發出print x以驗證該變量是正確的還是預期的。
其次,您應該使用單引號而不是雙引號。從U-Boot documentation

要存儲在一個變量的命令和特殊字符,請使用周圍的變量全文單引號,而不是分號和特殊符號前的反斜槓。