在我的RHEL盒子上找到了一个标准脚本,用于将svn diff输出传递给vimdiff:
#!/bin/csh -f
vimdiff ${6} ${7}
将其添加到路径中,并在〜/ .subversion / config
中设置diff-cmd这很有效,我拥有所需的所有优点。 但是,似乎忽略了csh的-f标志并且正在运行我的.cshrc文件:在vimdiff打开之前,我可以看到echo消息由它吐出。
我的.cshrc连接到许多许可证服务器,所以需要一段时间,这不太好。
顺便说一句,直接运行此脚本(svndiff.sh x x x x x file1 file2
)不会调用.cshrc
svn(版本1.6.11)本身就是这样做的吗?任何想法为什么会发生这种情况以及可以做些什么呢?
答案 0 :(得分:1)
最可能被称为csh svndiff.sh
。 hashbang仅
如果被称为./svndiff.sh
,则执行。
还建议您在cshrc中执行此操作:
setenv PATH ~/Local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/games
# ...more environment settings
# Only load these for interactive shells
if ( $?prompt ) then
set autolist
# ...more settings, keybinds, etc.
endif
但是,实际上,不要将csh
脚本用于此类事情。尽可能使用bourne shell。 1995年“Csh Programming Considered Harmful”中提出的几乎所有问题仍然适用于20年后的tcsh
。