GRUB 脚本中的文件名通配符扩展

Posted

技术标签:

【中文标题】GRUB 脚本中的文件名通配符扩展【英文标题】:Filename wildcard expansion in GRUB scripting 【发布时间】:2017-07-02 09:16:14 【问题描述】:

在 GRUB 脚本中是否可以进行文件名通配符扩展?

类似:

for i in directory/*; do echo $i; done

我的目的是让 GRUB 加载位于某些目录中的不同 cfg 文件。

【问题讨论】:

【参考方案1】:

是的,如果您有 regexp 模块,这是可能的,它似乎使用与 bash 相同的文件名扩展语法。我偶然发现了这一点,但我仍然不确定文档中是否提到了此功能。示例:

insmod regexp
for i in /opt/*; do echo $i; done

我将它输入到我系统上的 GRUB 2.02 shell 并收到以下输出:

/opt/sublime_text
/opt/google

【讨论】:

以上是关于GRUB 脚本中的文件名通配符扩展的主要内容,如果未能解决你的问题,请参考以下文章

Sed 没有在变量中扩展 *

grub2基础教程-修订版

Linux 文件通配符与命令行扩展

Linux Basic 6:vim及一些的Shell脚本

VBScript 使用通配符移动文件(如果存在)

定义包含通配符(*)的crontab作业,而不扩展它们