我可以访问大量不同的ssh帐户,我想象的几百个,我在不同场合使用.其中一些是个人的,其中一些是我从客户那里得到的并且是共享的,而且其中的一些都是暂时的.创建一次使用,会在一段时间后自动删除.
现在我的问题是我使用两个.dircolors,一个灯和一个黑暗的主题.我非常喜欢这种设置,但这意味着每次我进入服务器时都会复制一个新的.dircolors,并且在共享帐户上偶尔会让其他人烦恼.我尝试修改我的ssh脚本以允许我使用我的本地LS_COLORS,但我遇到了一些问题.
如果我使用:
ssh -t vps2’export LS_COLORS =“’$LS_COLORS’”; exec / bin / bash –noprofile –norc’
它可以工作,但不完全可用,因为它忽略了所有系统的默认信息.
如果我使用:
ssh -t vps2’export LS_COLORS =“’$LS_COLORS’”; exec / bin / bash’
它不起作用,因为bash通过.profile并加载不同的LS_COLORS.
有关如何加载默认.bash_profile / .bashrc并拥有自己的LS_COLORS的任何建议?
解决方法
使用您喜欢的任何初始化创建一个文件,说“prefs.rc”.
$scp prefs.rc vps2:/tmp/ && ssh vps2 # ssh banner $. /tmp/prefs.rc && rm /tmp/prefs.rc
我可能会添加一些检查来验证远程文件确实是我的写入,
并且不包含某些木马.最好在偏执狂方面犯错.
或者,使用序列启动prefs.rc
. /etc/profile . ~/.bash_profile exec LSCOLORS=...
使用scp进行传输,然后:
ssh -t vps2 'exec bash --rcfile /tmp/prefs.rc'
最终,您可能需要复制.bash_profile的全部内容,并且只需替换LS_COLORS = …行.