Ah, 'source' as in 'source' used with the shell... just figured they would
label it as a command for the minimal GRUB shell, but doesn't appear they
do (and maybe they don't list others as well). I'll try it soon, thanks
again.

--Marc



On Fri, Jul 17, 2015 at 11:16 PM, Marc Smith <[email protected]> wrote:

> Joāo Ricardo Sares Teles de Matos: Thank you for the idea, but using an
> already generated grub.cfg file is a requirement (using grub-mkconfig isn't
> an option).
>
>
> On Fri, Jul 17, 2015 at 6:11 PM, Jordan Uggla <[email protected]>
> wrote:
>
> On Fri, Jul 17, 2015 at 7:12 AM, Marc Smith <[email protected]> wrote:
>> > Hi,
>> >
>> > Looking for any possibility of reading the contents of a file (or even
>> just
>> > the file name) into a variable in a GRUB config file? I've read that
>> command
>> > substitution is not supported and no plans to add it, but is there any
>> other
>> > way?
>> >
>> > I've tried a couple other methods without success (in the grub.cfg
>> file):
>> > --snip--
>> > while read ver_str;
>> > do
>> >     something_with ${ver_str}
>> > done < /version_file
>> > --snip--
>> >
>> > OR
>> >
>> > --snip--
>> > cat /version_file | while read ver_string;
>> > do
>> >     something_with ${ver_str}
>> > done
>> > --snip--
>>
>> To get the version number from a file named "version_*", where the '*'
>> is actually the version string, you could do something like this:
>>
>> insmod regexp
>> filename=/directory/containing/file/version_*
>>
>> # Now we can, if we want to, extract just the version string
>> regexp --set=version_string '/directory/containing/file/version_(.*)'
>> "$filename"
>>
>> # Now $version_string contains just the version string.
>>
>> Please note that I'm not in a position to actually test the above
>> code, so it likely contains mistakes.
>>
>
> Thanks Jordan, I'll give it a shot.
>
>
>
>>
>> >
>> > The goal is to read a "version string" from a file at boot with GRUB to
>> > display different menu entries for different versions, but I'd even take
>> > just getting the string from the file name at this point. Any ideas? My
>> last
>> > resort is to just use sed to modify grub.cfg when a new version of the
>> OS is
>> > installed (for a new GRUB menu entry), but I'd prefer not to do that
>> unless
>> > I have to.
>> >
>> > Or what about including another grub.cfg file and then in the included
>> GRUB
>> > config file just have the line "set ver_str=0.1.1" -- I was thinking
>> using
>> > the 'configfile' command would do this, but doesn't seem to work as I
>> > expected.
>>
>> That method would also work fine, you just need to use "source" rather
>> than configfile. The configfile command is used to load a file which
>> will populate an entirely new grub menu whereas source in grub, much
>> like in bash, executes commands in the current context.
>>
>
> Okay, I'd prefer this method and I'll try it, but I don't see it in the
> GRUB documentation: http://www.gnu.org/software/grub/manual/grub.html
>
> Is that part of GRUB 2.00 or is it a feature in a newer version, or am I
> just missing?
>
>
> --Marc
>
>
>
>>
>> --
>> Jordan Uggla (Jordan_U on irc.freenode.net)
>>
>
>
_______________________________________________
Help-grub mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-grub

Reply via email to