无忧启动论坛
标题:
这个grub4dos内置菜单,为什么没有进入死循环呢?
[打印本页]
作者:
小小菜
时间:
2009-12-19 19:02
标题:
这个grub4dos内置菜单,为什么没有进入死循环呢?
内置菜单内容如下,#后面是我的解释:
find --set-root --ignore-cd /message
#在各个设备(CD不算)查找message文件,将第1个有message文件的设备设置为root。
gfxmenu /message && configfile (md)4+1
#驱动gfx菜单文件message,如果成功,则执行内置菜单。
#疑问:按理说,这会儿应该又转到第一行,查找message文件,再驱动message,而不是显示下面菜单。
#但是在实践中,这种写法并没有进入死循环。何解?
default 0
timeout -1
title I'm title 1
sm.cmd...
title I'm title 2
sm.cmd...
复制代码
[
本帖最后由 小小菜 于 2009-12-19 19:05 编辑
]
作者:
sratlf
时间:
2009-12-19 21:08
gfxmenu /message 执行这一行时不会返回第一行查找 因为你第一行已经查找完了 不会重复查找
作者:
小小菜
时间:
2009-12-19 22:19
configfile
(md)4+1
的意思是执行grldr的内置菜单。
gfxmenu
/message
&&
configfile
(md)4+1
这行的意思是
gfxmenu
/message执行成功了,再执行
configfile
(md)4+1
gfxmenu
/message
&&
configfile
(md)4+1
并且,这行本身又是内置菜单的一部分
按理说,会是死循环的吧?
============================
刚试了,这样写就是死循环:
gfxmenu
/message
configfile
(md)4+1
这样写,就不会了:
gfxmenu
/message
&&
configfile
(md)4+1
&&前面的执行成功了,后面的才会执行,这和不带
&&
区别不大啊?
[
本帖最后由 小小菜 于 2009-12-19 23:49 编辑
]
作者:
chenall
时间:
2009-12-20 10:30
gfxmenu执行时的返回值如果是真才会执行&&后面的命令,
如果你的启动菜单成功了就当然就是进入你的菜单指定的内容了,
如果执行失败当然就返回失败了,
所以你可以试一下
使用 || 来代替 &&。
如果不行那就是gfxmenu命令的返回值有问题。
欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/)
Powered by Discuz! X3.3