Где в исходном коде GRUB2 происходит передача / переход к коду ядра?

foo() any-command

синтаксис Bourne, поддерживаемый любой подобной Границе оболочкой, но bash, yash и последние версии posh (которые только поддерживают составные команды). (реализации Оболочки Bourne и AT&T ksh не поддерживать foo() any-command > redirections если any-command составная команда хотя).

foo() any-compound-command

(примеры составных команд: { cmd; }, for i do echo "$i"; done, (cmd)... обычно используемое существо { ...; })

синтаксис POSIX, поддерживаемый любой подобной Границе оболочкой и той, которую Вы обычно хотите использовать.

function foo { ...; }

синтаксис оболочки Korn, который предшествует синтаксису Bourne. Только используйте этого, если запись специально для реализации AT&T Korn окружает и нуждается в определенном лечении, которое это проходит там. Тот синтаксис не является POSIX, но поддерживается bash, yash и zsh поскольку совместимость с Korn окружает хотя те оболочки (и pdksh- основанные варианты оболочки Korn), не рассматривают его несколько отличающийся от стандартного синтаксиса.

function foo () { ...; }

синтаксис никакой оболочки и не должен использоваться. Это только, оказывается, поддерживается случайно bash, yash, zsh и pdksh основанные варианты оболочки Korn. Кстати, это также awk синтаксис функций.

Если мы продолжаем спускаться по тайному списку,

function foo() other-compound-command

(как function foo() (subshell) или function foo() for i do; ... done) еще хуже. Это поддерживается bash, yash и zsh, но не ksh, даже pdksh- основанные варианты.

В то время как:

function foo() simple command

только поддерживается zsh.

11
19.05.2017, 14:53
1 ответ

Просто прочитав исходный код, это должно быть местом в загрузчике Linux, а это местом в релокаутер (независимый от погрузчика).

Надеюсь, это поможет :)

1
27.01.2020, 19:59

Теги

Похожие вопросы