有阴也有阳 发表于 2017-3-10 22:36:59

请问“fallback +1”命令是啥意思,有啥作用?

      请问下列菜单中的“fallback +1”命令是啥意思,有啥作用?

title 切换到GRUB2核心的软盘镜像来引导Linux(Ubuntu等)
fallback +1
find --set-root --ignore-floppies --ignore-cd /boot/grub/i386-pc/core.img
kernel /boot/grub/i386-pc/core.img

pseudo 发表于 2017-3-11 14:00:48

当初grub4dos没有if,没有goto,没有批处理,没有外部命令,没有变量,我和chenall为能控制流程,把菜单当程序来写而挖空心思。

当时唯一能实现流程控制的就是fallback了,它能在出错后转到其它地方执行其它命令。
此外,errorcheck off......errorcheck on使得能连续执行一组语句,中途出错也无妨。
两者结合,就能控制出错时的流程:是继续执行后续一组语句还是转而执行别的一组语句。

最后,还需要有人为制造错误的能力, fallback F好像是我发明的写法,是狗屁不通的错误语句。当你想转往别处时,就来一句 fallback F人为制造错误,就能触发之前设定好的fallback跳转(类似goto效果)。

总之,在grub4dos功能还很弱的“远古时代”,要想实现goto之类的流程控制,得走歪门邪道,玩转可怜的fallback。

类似问题还有变量如何解决。
当初没有变量,我们通过读写0x60000处1KB空间来完成类似变量的存取,对读出的值用checkrange判断范围,其真假用来控制流向,实现类似if的效果。

也许正是这种绕大弯子才能达到目的的窘境,促成chenall加入grub4dos开发团队,去实现对g4d的一系列功能扩展,然后大家用上了goto、if、RUN...

2013feng901012 发表于 2017-3-11 00:31:56

fallback n如果后面的语句中有一句执行失败就跳到菜单n

详细请参考 chenall博客
http://chenall.net/post/grub4dos_micrope/

不点 发表于 2017-3-11 10:07:01

chenall 博客也没发现有解释 fallback +1 呀!印象中,意思好像是,如果本菜单项启动失败,跳到紧接着的下一菜单项去执行。

chenall 博客上的菜单命令还有个 fallback F,我还真不知道是什么含义。有谁知道的,麻烦分享一下。

有阴也有阳 发表于 2017-3-11 10:09:32

不点 发表于 2017-3-11 10:07
chenall 博客也没发现有解释 fallback +1 呀!印象中,意思好像是,如果本菜单项启动失败,跳到紧接着的下 ...

谢谢!!!

有阴也有阳 发表于 2017-3-11 17:28:24

pseudo 发表于 2017-3-11 14:00
当初grub4dos没有if,没有goto,没有批处理,没有外部命令,没有变量,我和chenall为能控制流程,把菜单当 ...

谢谢!!!
页: [1]
查看完整版本: 请问“fallback +1”命令是啥意思,有啥作用?