neu*_*ron 5 ssh bash environment-variables
我可以访问大量不同的 ssh 帐户,我可以想象有数百个,我在不同场合使用这些帐户。其中一些是个人的,其中一些是我从客户那里得到的并且是共享的,而且很多都是暂时的。为一次使用而创建,一段时间后将自动删除。
现在我的问题是我使用了两个 .dircolors,一个浅色和一个深色主题。我非常喜欢这个设置,但这意味着每次我 ssh 到服务器时都复制一个新的 .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 的任何建议?
ssh -t vps2 '
cp ~/.bashrc ~/.bashrc.n &>/dev/null ;
echo "LS_COLORS=\"no=00:fi=00:ETC:ETC:ETC\";" >> ~/.bashrc.n ;
echo "export LS_COLORS" >> ~/.bashrc.n ;
echo "alias ls=\"ls --color=auto\";" >> ~/.bashrc.n ;
exec bash --rcfile ~/.bashrc.n'
这将不需要额外的 scp 就可以工作,这里的额外连接延迟应该不存在。您在登录期间不需要任何额外的命令,并且它将使用现有 shell 的设置,除了我的覆盖。它不会像预期那样破坏终端大小调整:)
实际上,我还添加了 PS1 和带有颜色的 grep/egrep 别名,但为了便于阅读,上面的示例代码没有添加它。
归档时间: |
|
查看次数: |
2111 次 |
最近记录: |