私は数年前にUNIXで作業していましたが、もう一度やり直しています。誰かが私の質問に私を助けることができるかどうか疑問に思っていた。UNIXでシェルを変更する有効な方法
たとえば、私がbashにいる場合、私はchsh --shell /bin/tcsh
の後にパスワードを入力するよう求められます。 echo $SHELL
と言ってみると、シェルが変わったとは言えません。それはまだ私がbashで、Cシェルではないことを私に伝えます。だから私は終了して再起動する必要があります。一度ログバックすると、、次には、私はCシェルであると伝えます。
もっと効果的なシェル変更方法がありますか?私がログインしたりログアウトする必要がないものはありますか?
ありがとうございます。
'tcsh'と' echo $ 0'だけを実行してください。 '$ SHELL'に依存することはできません。たとえば、' man bash'を参照してください。 –
あなたは$ SHELLに頼ることができますが、その目的はあなたがどのシェルにいるのかを知らせることではありません。その唯一の目的はあなたが好むシェルを他のプログラムに伝えることです。プログラムがシェルを起動する必要がある場合は、環境変数SHELLの値をチェックし、その値を使用する必要があります。 –
'$ SHELL'は、' '現在のユーザのログインシェル*のフルパス名*」(' man bash'から)です。現在のシェルである必要はありません。 – cdarke