Grub C 代码中的“set”输出?

Grub C 代码中的“set”输出?

我发现了一个有趣的现象。当我以 root 身份运行 set 时,输出会显示一些 c 代码……看起来像是一些 grub 引导加载程序代码……后面是一些无法读取的部分。这对我来说似乎有点……奇怪。不想问,但……那是“病毒”吗?或者至少是不需要的代码?

以下是一段小片段:

xspecs=([freeamp]="!*.@(mp3|og[ag]|pls|m3u)" [cdiff]="!*.@(dif?(f)|?(d)patch)?(.@([gx]z|bz2|lzma))" [bibtex]="!*.aux" [rgview]="*.@(o|so|so.!(conf|*/*)|a|[rs]pm|gif|jp?(e)g|mp3|mp?(e)g|avi|asf|ogg|class)" [oowriter]="!*.@(sxw|stw|sxg|sgl|doc?([mx])|dot?([mx])|rtf|txt|htm|html|?(f)odt|ott|odm)" [chromium-browser]="!*.@(?([xX]|[sS])[hH][tT][mM]?([lL]))" [tex]="!*.@(?(la)tex|texi|dtx|ins|ltx|dbj)" [zathura]="!*.@(cb[rz7t]|djv?(u)|?(e)ps|pdf)" [netscape]="!*.@(?([xX]|[sS])[hH][tT][mM]?([lL]))" [acroread]="!*.[pf]df" [makeinfo]="!*.texi*" [kwrite]="*.@(o|so|so.!(conf|*/*)|a|[rs]pm|gif|jp?(e)g|mp3|mp?(e)g|avi|asf|ogg|class)" [gview]="*.@(o|so|so.

...后面是 C 代码:

_all_modules () 
{ 
    while read name; do
        name=${name%% *};
        printf "%s\n" "$name";
    done < <(pulseaudio --dump-modules 2> /dev/null)
}
__cards () 
{ 

对我来说,它似乎不应该在那里,还是我错了?我可以覆盖这个变量吗?或者它会破坏我的 grub 吗?

答案1

set只是显示了 bash 中定义的函数。您看到的内容与 GRUB 或 C 无关。定义这些函数很正常 - 它们用于诸如彩色终端输出和制表符补全之类的操作。

相关内容