zsh
たとえば、代わりに使用するには、bash
現在のユーザーに対してどこで変更する必要がありますか?
答え1
usermod -s /bin/zsh <username>
その他のオプションについては、リソースを参照してくださいman usermod
。
答え2
ユーザーへのアクセス権がなく、root権限がある場合は、Chris Browneの回答が機能します。
現在のユーザーのデフォルトシェルを変更するには、次のものを使用することもできます。
chsh -s /bin/ksh
追加情報
ユーザーのログインシェルはファイル(/etc/passwd
Debianの場合)に定義されています。このファイルには、作成時に入力した情報を含む各ユーザーのエントリが含まれています。
rahmu:x:1000:1000:My Nameisrahmu,,,:/home/rahmu:/bin/bash
anotheruser:x:1001:1001:,,,:/home/anotheruser:/bin/ksh
最後の列はログインシェルです。成功すると、ログインプログラムによってフォークされます。
ただし、このファイルを手動で変更しないことをお勧めします。可能であれば、または を使用する必要がありますchsh
。usermod
答え3
次のコマンドを使用してログインシェルを変更できますchsh
。前述のように、man chsh
一般ユーザーは自分のアカウントシェルのみを変更できますが、rootはすべてのアカウントのシェルを変更できます。
/etc/shells
有効なログインシェルのパス名を含みます。このファイルはchsh
呼び出し時に照会されます。
指示はchsh
UNIXのタイプによって異なります。
Linux:
chsh -s newshell
ソラリス:
chsh newshell
HP-UX
chsh username newshell
AIX
chsh
これにより、新しいシェルのフルパスを入力するように求められた対話型セッションが開始されます。
答え4
DSM 5.1を実行してAsh Shellを実行しているSynologyデバイスでこれを実行しようとしています。何らかの理由でこのchsh
コマンドは使用できません。ファイルを編集し/etc/passwd
、必要なシェル実行可能ファイルのフルパスを入力する必要がありました。