Ubuntu 10.04を実行しているAmazon EC2マシンがあります。
デフォルトのユーザ、ubuntu "s .bashrc
適切に行動しているようですが、もし私が ssh
または su
2人目のユーザーmikeyに、実行するまで正しく表示されない bash
:
例1)ユーザーの変更 su
mikey@home ~$ ssh ubuntu@EC2
ubuntu@EC2:~$
ubuntu@EC2:~$ su mikey
$
$ bash
mikey@EC2: $
例2)ユーザーとして直接SSHを行う
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: wa]u@h:w$
[e]0;u@h: wa]u@h:w$ bash
mikey@EC2:~$
私は周りを遊んでみた ~/.profile
そして ~/.bash_login
含める
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
しかし、これまでのところ、何もこのトリックをやっていないようだった。
どのポインタも大いに評価されるでしょう。ありがとう!
回答:
回答№1の場合は37実際、あなたのシェルが bash
あなたはそれを次のように変更しようとすることができます:
usermod -s /bin/bash mikey
/ bin / bashが次の場所にある場合 bash
そのシステム上で
回答№2の場合は3
あなたのデフォルトシェルは dash
または sh
そうではない bash
この場合。 echo $SHELL
表示する必要があります /bin/sh
、それはリンクかもしれないので、それをチェックしてください ls -l /bin/sh
他のシェルにリンクしていません。
答え№3の2
これを固定的に修正するには、/ etc / passwdを変更してください
から:
kwilson:x:3042:3042 :: / home / jjson:/ bin / sh
それを次のように変更します。
kwilson:x:3042:3042 :: / home / jjson:/ bin / bash
答え№4の2
あなたは使えない chsh
シェルを変更するには? / etc / passwdをハッキングする代わりに?