Linux RCS含@符号用户名的文件签入签出问题求助
Linux RCS 用户名含@符号的问题解决办法
当用户名包含@字符时,直接执行ci -u filename或co -l filename会触发如下错误:
RCS/file,v <-- file
ci: invalid identifier `name@example.org'
ci aborted
即便使用-w选项指定不含@的用户名完成首次签入/签出,二次签入时仍会报相同错误。以下是可行的解决方法:
临时单次解决
每次执行RCS命令前,临时覆盖USER环境变量为不含@的用户名:
USER=name ci -u file USER=name co -l file
这种方式无需修改配置,适合临时操作。
永久全局解决
编辑用户主目录下的shell配置文件(如~/.bashrc、~/.zshrc),添加以下内容:
export RCSLOGNAME=name
保存后执行source ~/.bashrc(对应你的shell配置文件)使配置生效。此后RCS会优先读取RCSLOGNAME作为用户名,不再使用系统默认的含@的USER变量,无需每次命令都加-w参数。
修复已存在的RCS文件
如果已有带错误用户名的RCS文件(如file,v),可以直接编辑该文件,将其中所有含@的用户名替换为不含@的版本,之后再配合上述方法操作即可。
内容的提问来源于stack exchange,提问作者Zsolt
相关产品推荐
相关产品推荐

