rootサーバーでログインするときはすべてmyusername正常に動作しますが、bash としてログインすると正しく動作しません。
行は次で始まります:
$
の代わりに
myusername@myserver:~$
矢印キー、タブキーなどのすべての特殊キーは機能しません。
入力するとbin/bash再び動作bin/bashしますが、問題を修正するか、ログイン時に自動実行したいと思います。どうすれば修正できますか?
rootサーバーでログインするときはすべてmyusername正常に動作しますが、bash としてログインすると正しく動作しません。
行は次で始まります:
$
の代わりに
myusername@myserver:~$
矢印キー、タブキーなどのすべての特殊キーは機能しません。
入力するとbin/bash再び動作bin/bashしますが、問題を修正するか、ログイン時に自動実行したいと思います。どうすれば修正できますか?
回答:
シェルを変更する必要があります。コマンドを実行する
chsh -s /bin/bash
その後、再度サインインします。
ただし、すべてのユーザーが自分のシェルを変更する権利を持っているわけではありません。を使用する場合は、コマンドにユーザー名をsudo忘れずに追加してください。chsh
sudo chsh <username> -s /bin/bash
そうしないと、ルートのシェルを誤って変更してしまいます。
sudo chsh -s /bin/bashなぜなら、ユーザーにはシェルを変更する権限がないからです。あなたの答えは私がそれを解決するのに役立ちました。ありがとう!
考えられる理由の1つは、myusernameのデフォルトのシェルがbashではないことです。
現在のユーザーのシェルを確認するには:
echo ${SHELL}echo $0ユーザーシェルを永続的に変更するにはman chsh
、次を参照してください。
chsh -s /bin/bash
sudoユーザーパスワードが無効になっている場合は、/etc/passwd直接編集し、ユーザーのいる行を見つけて、シェルパスをに変更できます/bin/bash。
/ etc / passwd形式の説明は次のとおりです。
rootユーザーについて尋ねているので、これは実際には一種の危険です。彼はおそらくLinuxを使用していないでしょう。ルートはデフォルトのシェルのままにする必要があります。これは、ベンダーがおそらくkshそれを選択するか、他の何でも選択するからです。代わりに、本当の答えは「とにかくルートとしてログインするべきではない」です。