為什麼 `sudo cp src dst` 會忽略 /etc 中的無破壞規則?

為什麼 `sudo cp src dst` 會忽略 /etc 中的無破壞規則?

在使用 時,我的全域首選項alias cp='cp -iv'會被忽略。sudozsh

我正在設定一個新系統,並且正在為我的用戶帳戶嘗試 zsh。 root 使用者仍然有 bash。在/etc我有:

/etc/bash.bashrc
/etc/zsh/zshenv

這兩個都有上面的別名,alias cp='cp -iv'

在使用者目錄中,這些目錄都不包含/etc全域配置中的命令。

~/.zshenv
/root/.bashrc 

如果我切換到 root 使用者su -並嘗試使用副本破壞文件,我會得到正確的提示,cp: overwrite 'fruits/apple.txt?'.對於家庭用戶也是如此。但是,如果我sudo在 zsh 中為家庭用戶執行複製命令,則該檔案將被覆蓋!使用 bash,我以前沒有遇到過這個問題,所以我不知道還能去哪裡尋找。

答案1

sudo使用別名的解決方法,例如sudo cp...

alias sudo='sudo '

相關內容