
在使用 時,我的全域首選項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 -
並嘗試使用副本破壞文件,我會得到正確的提示,cp: overwrite 'fruits/apple.txt?'
.對於家庭用戶也是如此。但是,如果我sudo
在 zsh 中為家庭用戶執行複製命令,則該檔案將被覆蓋!使用 bash,我以前沒有遇到過這個問題,所以我不知道還能去哪裡尋找。
答案1
sudo
使用別名的解決方法,例如sudo cp
...
alias sudo='sudo '