我如何让“sudo crontab -e”使用我的“sudoedit”环境?

我如何让“sudo crontab -e”使用我的“sudoedit”环境?

我已经开始使用sudoedit <file>而不是sudo vim <file>.优点之一是它使用我本地的~/.vimrc.然而,当使用 时sudo crontab -e,它会/root/.vimrc改为使用。有没有办法sudo crontab -e利用我的本地~/.vimrc

这里有一个相关问题,关于使用sudoeditwith vimdiff。然而,替代crontab -evimdiff行不通的。

答案1

假设你要编辑rootcrontab,sudo必须给你root权限。执行此操作后,crontab将调用${VISUAL:-${EDITOR:-vi}}$VISUAL除非它不存在,否则它将使用;在这种情况下,$EDITOR除非它不存在,否则它将使用;在这种情况下,它将使用vi)。

您有几种可能的解决方案。它们都破坏了 提供的安全性sudo,但您必须已经意识到这些问题(并愿意保护您的),否则您一开始.vimrc就不会使用。sudoedit

HOME最好的方法可能是在命令行上添加对变量的赋值,sudo因此crontab认为 HOME 目录是不同的:

sudo HOME=$HOME crontab -e

(如果您的主目录路径中有空格,该命令将不起作用!)

相关内容