Почему `sudo cp src dst` игнорирует правило no clobber в /etc?

Почему `sudo cp src dst` игнорирует правило no clobber в /etc?

Мои глобальные настройки, 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 '

Связанный контент