ATT ksh, bash и zsh имеют систему динамической загрузки модулей, которая позволяет загружать дополнительный код в существующий экземпляр оболочки, а динамически загружаемый код может реализовывать новые встроенные модули. Однако то, о чем вы просите, требует большего, чем новая встроенная функция: для этого требуется новый синтаксис, и я думаю, что ни одна из оболочек не может с этим справиться.Вам придется изменить синтаксический анализатор в исходном коде оболочки.
В zsh вы можете приблизиться к желаемому синтаксису:
for x (*/) (cd $x && pipeline)
Вы можете создать псевдоним alias map='for x (*/) (cd $x &&'
, но вам все равно нужна закрывающая скобка в конце. Вы можете получить именно тот синтаксис, который вам нужен, с помощью грубого хака:
alias map='map__PWD=$PWD; for x (./*/ "") cd $map__PWD${x#.}/ && [[ -z $x ]] || '
Это настолько уродливо, хрупко и не поддается обобщению, что я не буду его объяснять. Не думайте об его использовании, если вы не совсем понимаете, как он работает.
Попробуйте выполнить следующие шаги:
cp /etc/default/grub ~/Desktop
Изменить grub. Добавьте pci=noaer
или pci=nommconf
в конце GRUB_CMDLINE_LINUX_DEFAULT
. Строка будет такой:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pci=noaer"
sudo cp ~/Desktop/grub /etc/default/
sudo update-grub