До недавнего времени в моем файле alias sudo='sudo '
был .zshrc
. Сегодня я столкнулся с этой ошибкой при попытке сделать sudo mv
:
➜ ~ sudo mv nginx.conf.orig nginx.conf.orig2
sudo: nocorrect: command not found
Теперь поглядывая по сторонам, я обнаружил, что это, похоже, связано с некоторыми командами с префиксом nocorrect
и что я могу исправить это с помощью alias sudo='nocorrect sudo'
.
Однако проблема возникает, когда я пытаюсь установить свой псевдоним alias sudo='nocorrect sudo '
чтобы позволить себе использовать дополнительные псевдонимы. Я также гарантировал, что мой su использовал zsh, как упомянуто здесь.
➜ ~ alias sudo='nocorrect sudo '
➜ ~ sudo mv nginx.conf.orig nginx.conf.orig2
sudo: nocorrect: command not found
➜ ~ alias sudo='nocorrect sudo'
➜ ~ sudo mv nginx.conf.orig nginx.conf.orig2
➜ ~ su
Password:
michaelarch# ps -p $$
PID TTY TIME CMD
25831 pts/1 00:00:00 zsh
У кого-нибудь есть предложения по решению этой проблемы?
РЕДАКТИРОВАТЬ: alias sudo='sudo '
позволяет вам использовать псевдонимы с вашими командами sudo, например, см. Ниже.
➜ ~ alias cat='echo hello'
➜ ~ echo goodbye > example.txt
➜ ~ cat example.txt
hello example.txt
➜ ~ sudo cat example.txt
goodbye
➜ ~ alias sudo='sudo '
➜ ~ sudo cat example.txt
hello example.txt
Для получения дополнительной информации о моей оболочке:
➜ ~ sudo chsh
Changing shell for root.
New shell [/usr/bin/zsh]:
➜ ~ unalias sudo; alias sudo='nocorrect sudo '
➜ ~ echo $SHELL; which sudo
/usr/bin/zsh
sudo: aliased to nocorrect sudo
➜ ~ sudo mv nginx.conf.orig2 nginx.conf.orig
sudo: nocorrect: command not found
➜ ~ which mv
mv: aliased to nocorrect mv