管理者権限なしでシェルをbashからkshに永久に変更する

管理者権限なしでシェルをbashからkshに永久に変更する

bashPuTTYシェルを永続シェルに変更する必要がありますksh。管理者権限がないため、chshコマンドの使用や編集はできません。/etc/passwd

将来的に進むためにファイル内で何を変更するのか、またはファイル.profile内で何かを変更する必要があるのか​​を理解するのに役立ちます。.bashrc.kshrcksh

答え1

(コメントによると…)管理者がexec kshファイルに追加するように指示しましたが、~/.profile それはうまくいかないようです。前者が存在する場合、bashログインシェルはその場所を占めるため、機能しません~/.bash_profile~/.profile

だからファイルに追加しexec kshてください~/.bash_profile

個人的には、私は次のようなものを使用します(kshシェル実行可能ファイルがあることが知られていると仮定/bin/ksh)。

if [ -x /bin/ksh ]; then
    export SHELL=/bin/ksh
    exec "$SHELL" -l
fi

これは私のファイル全体になります。ファイルが存在し、実行可能な場合はログインシェルとして実行されます~/.bash_profile。その後/bin/ksh/bin/kshシェルはkshシェルbashの交換を進め、~/.profileファイルなどを読み込みます。削除する exec ksh~/.profileそこに追加した場合)。あなたの~/.bashrcファイルは廃止されました。

bash何らかの理由でkshシステムからシェルが削除されると、上記のコードはシェルを残します。

関連情報