web-dev-qa-db-ja.com

Bashは新しいユーザーには完全には機能しません

useradd -d /home/users/john -m johnを使用してシステムに新しいユーザーを作成しました(Ubuntu 11.04を使用)。これは問題なく動作しましたが、johnに変更すると、bashが完全には機能しません。つまり、オートコンプリートはなく、矢印キー(たとえば、最後のコマンドを取得するためにUP)を使用できません。現在のディレクトリを表示する代わりに、$のみを表示します。 .bashrcをロードしましたが、これは完全に無視されているようです。何が原因でしょうか?

PD:このユーザーは既にシステムで作業しており、可能であれば削除して再度追加することはしません。

19
user11780

おそらくジョンのシェルは/bin/bashではなく/bin/shです。 Ubuntuでは、これはコマンドラインエディションなどの高度なインタラクティブ機能を使用せずにスクリプトを高速に実行することを目的としたシェルです。 grep john /etc/passwdまたはgetent passwd johnの最後の列を確認してください。 chsh -s /bin/bash johnを実行してユーザーのシェルを変更することができます。

36
rvs

シェルの名前を入力すると、シェル間をジャンプできます

$ bash

そして次の行では、次のプロンプトが表示されます

user@hostname$ 

これはbashシェルです。上矢印キーとオートコンプリートが機能するようになりました

4
Saad