我有一台运行 Ubuntu 10.04 的 Amazon EC2 机器。
默认用户,ubuntu 的 .bashrc
似乎表现正常,但是如果我 ssh
或 su
到第二个用户,mikey,在我运行 bash
之前它无法正确显示:
Ex 1.) 使用 su
更改用户
mikey@home ~$ ssh ubuntu@EC2
ubuntu@EC2:~$
ubuntu@EC2:~$ su mikey
$
$ bash
mikey@EC2: $
Ex 2.) SSH-ing 直接作为用户
mikey@home ~$ ssh mikey@EC2
/home/mikey/.bashrc: 13: shopt: not found
/home/mikey/.bashrc: 21: shopt: not found
/home/mikey/.bashrc: 99: shopt: not found
/etc/bash_completion: 33: [[: not found
/etc/bash_completion: 39: [[: not found
/etc/bash_completion: 52: Bad substitution
\[\e]0;\u@\h: \w\a\]\u@\h:\w$
\[\e]0;\u@\h: \w\a\]\u@\h:\w$ bash
mikey@EC2:~$
我试过使用 ~/.profile
和 ~/.bash_login
来包含
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
但到目前为止,似乎没有什么能解决问题。
任何指针将不胜感激。谢谢!
最佳答案
如果,事实上,你的 shell 不是 bash
,你可以尝试像这样改变它:
usermod -s /bin/bash mikey
如果/bin/bash 是该系统上 bash
的位置。
关于linux - BASH 和/或 .BASHRC 在 SU 或 SSH 登录后无法正常工作,除非运行 "bash"命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8607473/