
Мои глобальные настройки, alias cp='cp -iv'
игнорируются при sudo
использовании zsh
.
Я настраиваю новую систему и пробую zsh для своей учетной записи пользователя. У пользователя root все еще есть bash. У /etc
меня есть:
/etc/bash.bashrc
/etc/zsh/zshenv
Оба они имеют указанное выше название — alias cp='cp -iv'
.
В пользовательских каталогах ни один из них не содержит команд из /etc
глобальных конфигураций.
~/.zshenv
/root/.bashrc
Если я переключусь на пользователя root su -
и попытаюсь затереть файл с помощью copy, я получу правильное приглашение, cp: overwrite 'fruits/apple.txt?'
. То же самое для домашнего пользователя. Однако если я выполню sudo
команду copy для домашнего пользователя, находясь в zsh, файл будет перезаписан! Используя bash, я раньше не сталкивался с этой проблемой, поэтому я не имею ни малейшего понятия, где еще искать.
решение1
Обходной путь для sudo
работы с вашими псевдонимами, например sudo cp
...
alias sudo='sudo '