![ssh 登录无法正确解析 .profile 或 .bashrc 并且通常很奇怪](https://linux22.com/image/85982/ssh%20%E7%99%BB%E5%BD%95%E6%97%A0%E6%B3%95%E6%AD%A3%E7%A1%AE%E8%A7%A3%E6%9E%90%20.profile%20%E6%88%96%20.bashrc%20%E5%B9%B6%E4%B8%94%E9%80%9A%E5%B8%B8%E5%BE%88%E5%A5%87%E6%80%AA.png)
- 首先,它无法加载我的 PS1。它只是提示我
$
- 箭头键不执行其应执行的操作,而只是回显如下内容:
$ ^[[A
这使得它非常无法使用。这里需要考虑一些事情:
- 仅当我通过 ssh 登录时才会发生这种情况,当我直接登录服务器时不会发生这种情况。
- 其中一位用户即使使用 ssh 也能正常工作;这是在安装操作系统期间设置的用户(ubuntu服务器14.04)。
- 当我
su - otherUser
从那个工作正常的用户内部时,一切都工作正常。
这是.bashrc
以防万一您想看一下(它对所有用户都相同,包括正常工作的用户):
函数 parse_git_branch () { git 分支 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/' } 红色=“\[\033[0;31m\]” 黄色=“\[\033[0;33m\]” 绿色=“\[\033[0;32m\]” NO_COLOR="\[\033[0m\]" #PS1="[\u@\h \W]\$" 导出 PS1="[\u@\h $YELLOW\W$NO_COLOR]$GREEN\$(parse_git_branch)$NO_COLOR\$ "
这是当我尝试登录用户时的输出日志作品适当地ssh -vvv ubuntu@server
:http://paste.ubuntu.com/15436267/
这是当我尝试登录用户时的输出日志不起作用适当地ssh -vvv adam@server
:http://paste.ubuntu.com/15436301/
答案1
您描述的症状(仅非常基本的提示,箭头键不起作用)与/bin/sh
您的登录 shell 一致,而不是/bin/bash
预期的那样。/bin/sh
是一个小型 shell,旨在快速运行脚本,但不适合交互式使用。
要检查您的登录 shell 是什么,请运行
getent passwd $USER
这将显示以冒号分隔的字段列表,登录 shell 是最后一个。
如果登录 shell 不是您想要的,请运行chsh -s /bin/bash
。
您在终端中获得 bash 的原因可能是您在配置中的某个位置将SHELL
环境变量设置为 bash。终端仿真器通常运行由 指示的程序,如果未设置,SHELL
则回退到登录 shell 。SHELL