例如,对于命令sudo vim /var/log/errors.log
,我希望 vim 使用我自己的用户设置而不是 root 设置来启动。我知道我可以为 root 帐户设置 vim,但这不是我想要的,因为它很可能在将来的更新中变得混乱。而且我也不想改变其他帐户的 vim 行为。
答案1
sudoedit
它也更安全。
使用 vim(如果它不是你的默认编辑器)
(export VISUAL=vim; sudoedit file)
但更好的是...在你的 ~/.bashrc 中设置 VISUAL 和 EDITOR 以便它成为你的默认编辑器。
答案2
我无法测试,但这可能有效:sudo HOME=/home/myusername vim /var/log/errors.log
或者更简单的方法:sudo HOME=$HOME vim /var/log/errors.log
答案3
您需要编辑/etc/sudoers文件和潜在的/etc/sudoers.d/并删除环境重置选项中的默认值陣容 註釋 .
我的看起来像这样:
Defaults env_reset
删除或注释掉该行,然后须藤将保留用户的环境变量,而不是转储所有内容并填充一些特定值。
当然,看看sudoers请参阅手册页以了解更多详细信息,并记得使用命令编辑 sudoers 文件维苏多(或者须藤维须藤)visudo 会先检查 sudoers 文件中是否有错误,然后才会允许您完成编辑...如果文件损坏或未通过任何检查...您就无法再使用 'sudo',因此需要使用 visudo 命令。