useradd -d /home/users/john -m john
を使用してシステムに新しいユーザーを作成しました(Ubuntu 11.04を使用)。これは問題なく動作しましたが、john
に変更すると、bashが完全には機能しません。つまり、オートコンプリートはなく、矢印キー(たとえば、最後のコマンドを取得するためにUP)を使用できません。現在のディレクトリを表示する代わりに、$
のみを表示します。 .bashrc
をロードしましたが、これは完全に無視されているようです。何が原因でしょうか?
PD:このユーザーは既にシステムで作業しており、可能であれば削除して再度追加することはしません。
おそらくジョンのシェルは/bin/bash
ではなく/bin/sh
です。 Ubuntuでは、これはコマンドラインエディションなどの高度なインタラクティブ機能を使用せずにスクリプトを高速に実行することを目的としたシェルです。 grep john /etc/passwd
またはgetent passwd john
の最後の列を確認してください。 chsh -s /bin/bash john
を実行してユーザーのシェルを変更することができます。
シェルの名前を入力すると、シェル間をジャンプできます
$ bash
そして次の行では、次のプロンプトが表示されます
user@hostname$
これはbashシェルです。上矢印キーとオートコンプリートが機能するようになりました