2014-11-22 71 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

要存储在一个变量的命令和特殊字符,请使用周围的变量全文单引号,而不是分号和特殊符号前的反斜杠。

相关问题