Bash為什麼
為什麼sudo cp src dst
會忽略/ 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 -
並嘗試使用副本破壞文件,我會得到正確的提示,cp: overwrite 'fruits/apple.txt?'
. 家庭使用者也是如此。但是,如果我sudo
在 zsh 中為家庭使用者執行複制命令,該文件將被覆蓋!使用 bash,我以前沒有遇到過這個問題,所以我不知道還能去哪裡找。
sudo
使用別名的解決方法,例如sudo cp
…alias sudo='sudo '