我有一个功能.bashrc
可以自动 sudo 打开我不能写的文件:
vim() {
if [ -w "$1" ]; then
\vim "$1"
else
sudo env HOME="$HOME" \vim -u ~/.vimrc "$1"
fi
}
Run Code Online (Sandbox Code Playgroud)
当文件需要 sudo 时,它工作正常。如果没有,它会递归调用此函数并使用 100% 的 1 个 CPU,直到 I CC。
从这个答案我看到有几个选项,所有这些我都尝试过。一个确实有效:
'vim' "$1" #fails
\vim "$1" #fails
command vim "$1" #Works!
Run Code Online (Sandbox Code Playgroud)
为什么其他选项不能像我期望的那样工作?
(我知道这是重复的,但是很难用当前的问题标题在 SO/SE 上找到我的答案,所以我想发布一个问题,标题是我和其他人可以通过谷歌搜索找到的)