chsh
コマンドは、インストールされているシェル間でユーザーのログインシェルを切り替えるために使用されますが、関係なく機能します。 ログイン元の場所(tty1、tty2、ssh、…)。私が達成したいのは、例えば csh
tty7からのログインで。 bash
他のすべてのログインソース。
これはまったく実行可能ですか?
承認された回答:
いいえ、はい。
いいえ、ログインシェルは、ユーザーがログインするTTYではなく、ユーザーに関連付けられています。ユーザーは、特定のログインシェルを1つだけ持つことができます。
はい。ユーザーは、ログインシェルの初期化ファイルで、条件に応じて他のプログラムやユーティリティを起動できます。
たとえば、 bash
を持つユーザー 現在のログインシェルは、次のようなものを .bash_profile
に追加する可能性があるためです。 csh
を実行するファイル 仮想端末7にログインする場合:
case $(tty) in
*/tty7) exec csh -l ;;
esac
exec csh -l </ code> 現在のシェルを
csh
に置き換えます 、ログインシェルとして開始しました。