Просто чтобы уточнить, вы запускаете sudo boot27
и получаете boot27: command not found
поскольку sudo
является псевдонимом, bash прекращает сканирование на наличие псевдонимов и не распознает boot27
как единое целое. Как обсуждалось здесь, один из способов борьбы с этим является добавление пробела в конце определения псевдонима.
Добавление места позволяет bash распознавать boot27
но проблема в том, что ваша учетная запись root не настроена на использование zsh, поэтому sudo
вместо этого запускает оболочку bash. nocorrect
zsh
, bash
понятия не имеет, что это такое, поэтому он жалуется.
Самый простой способ исправить это - установить оболочку root в /bin/zsh
:
sudo chsh
Затем установите псевдоним с пробелом:
alias sudo='nocorrect sudo '
Ваш псевдоним boot27
имеет еще одну проблему. Я предполагаю, что вы запускаете его как sudo boot27
, оболочка прочитает псевдоним и расширит его до:
sudo grub-reboot 4 && reboot
Таким образом, он запускает grub-reboot
от имени пользователя root, но запускает reboot
от имени обычного пользователя. То, что вы хотите, это либо изменить свой псевдоним на
alias boot27='grub-reboot 4 && sudo reboot'
и запустите его как sudo boot27
или измените псевдоним на
alias boot27='sudo grub-reboot 4 && sudo reboot'
и запустить его без sudo
, просто boot27
.