| 
 | 
  
直接将如下代码写入 grldr 中进行测试: 
  
-------------------------------------------------- 
echo 
errorcheck on 
errorcheck status 
  
echo ---------- 
set a=1 
# 这里 if 判断为 true ,kernel 将被执行,但不提示出错,也不停止脚本 
if exist a && kernel ! echo VarNoExist 
set a= 
echo ---------- 
set a=1 
# 这里 if 判断为 false ,kernel 不被执行,直接执行 echo VarNoExist 
if not exist a && kernel ! echo VarNoExist 
set a= 
echo ---------- 
  
set a=1 
# 这里 kernel 导致判断结果为 false 从而执行 echo VarNotExist 
if exist a && kernel && echo VarExist ! echo VarNoExist 
set a= 
echo ---------- 
set a=1 
set b=1 
# 这里 if exist a && if exist b 是整个判断条件, 结果为 true 从而执行 echo VarExist 
if exist a && if exist b && echo VarExist ! echo VarNoExist 
set a= 
echo ---------- 
  
# 奇怪的是,出错了,脚本也继续执行,不会停止 
kernel 
errorcmd 
 
echo go! go! go! 
errorcheck status 
pause 
-------------------------------------------------- 
  
执行结果如下: 
  
-------------------------------------------------- 
 Error check is now on 
---------- 
---------- 
VarNoExist 
---------- 
VarNoExist 
---------- 
VarExist 
---------- 
Warning! No such command: errorcmd 
go! go1 go! 
 Error check is now on 
 
-------------------------------------------------- 
  
其实 if exist a 或 if exist b 就是一条语句,和 kernel 差不多,控制 && 或 || 或 !之后的语句是否被执行 
说到底,还是没有 if 语句,只有 && 和 || 和 ! 
  
  
  
  
  
如果 if 语句能像 DOS 中的那样就好了,可以将条件判断和执行代码分开,可以一次执行多条代码 
  
if exist SomeVar ( 
DoSomething1 
DoSomething2 
DoSomething3 
) else ( 
DoAnotherthing1 
DoAnotherthing2 
DoAnotherthing3 
) 
  
期待 GRUB4DOS 功能的进一步加强! 
  
  
  
 |   
 
 
 
 |