ウェブサイトでこの質問が見つからなかったことに驚きました。だから今日は$
新規ユーザーとしてログインをしてから、こういう言葉が出てきましたね。私のデフォルトユーザーのプロンプトがで終わるので、これは予期しないことですusername@computername:~$
。
それでは、他のシェルからbashにどのように切り替えますか?
答え1
不明なシェルが絶対コマンド実行をサポートしていると仮定すると、次のことを試すことができます。/bin/bash
デフォルトのシェルを変更するには、次のようにしますchsh(1)
。chsh -s /bin/bash $USER
答え2
と入力しますbash
。これを永久に適用するには、デフォルトの/bin/bash
シェルを/etc/passwd
。
私のいくつかの内容は次のとおりです/etc/passwd
。
avahi:x:84:84:Avahi daemon:/:/bin/false
xenoterracide:x:1000:100::/home/xenoterracide:/bin/zsh
postgres:x:88:88::/var/lib/postgres:/bin/zsh
bob:x:1001:1001::/home/bob:/bin/bash
usbmux:x:140:140:usbmux user:/:/sbin/nologin
最後のフィールドにはシェルが含まれています。最後のフィールドを:
有効または無効なシェルに変更してください。どちらもユーザーが実際のログインシェルを持っていない/bin/false
ことを意味/sbin/nologin
しますが、pamが正しく設定されていないためにログインできないという意味ではありません。 (私はArch Linuxでグラフィカルにログインできるため、これに関するバグを報告しましたが、ログインシェルは必要ありません)。有効なシェルです。システムの有効なシェルのリストについては、参考資料を参照/bin/bash
してください。興味があれば、これは私のものです。/bin/zsh
/etc/shells
/etc/shells
/bin/sh
/bin/bash
/bin/ksh
/bin/zsh
/bin/dash
はい、構造化テキストファイルとTIMTOWTDIを使用して同じことを実行できますchsh
。usermod
答え3
もしchshまたは設定を手動で編集しても機能しませんが、~/.profileスクリプトにログインするときに次の行を追加してください。
exec /bin/bash --login