我需要使用sudo在我的项目上运行svn命令。我将SVN_EDITOR设置为我自己的.bash_profile以及root用户的.bash_profile中的vi,但是当我尝试执行svn propedit时,我得到了
svn: None of the environment variables SVN_EDITOR, VISUAL or EDITOR is set, and no 'editor-cmd' run-time configuration option was found
每次开始新会话时,我都要设置SVN_EDITOR。这是一种痛苦。关于如何/在哪里永久设置SVN_EDITOR的任何建议?这是在CentOS 5.4上。
答案 0 :(得分:4)
通过sudo运行命令不会启动登录或“交互式”shell,因此将其添加到各种 bashrc 或配置文件资源文件将无济于事。
正如DES所说,快速而肮脏的方式是:
sudo env "SVN_EDITOR=$SVN_EDITOR" svn propedit svn:ignore .
但正如derobert评论的那样,更好的更永久的解决方案是运行sudo visudo
来编辑 / etc / sudoers ,并将SVN_EDITOR
添加到the env_keep option。< / p>
答案 1 :(得分:2)
sudo
会清除大部分环境。这是一件好事™。快速而肮脏的解决方法是使用env
:
sudo env SVN_EDITOR=$SVN_EDITOR svn propedit svn:ignore .
在SVN_EDITOR
中定义~root/.bashrc
应该有效,但更好的解决方案是在/etc/profile
中定义它,以便每个用户获得相同的值。
答案 2 :(得分:0)
〜/ .bashrc中
我记得在连接时调用了.bash_profile。 (当你ssh到机器时)和.bashrc被调用为每个bash进程启动。但我可以倒退。
Centos是近来为数不多的受到严厉尊重的发行版之一。据我所知。