newgrpが私のPS1を変更する理由とそれを防ぐ方法は何ですか?

newgrpが私のPS1を変更する理由とそれを防ぐ方法は何ですか?

複数のパラメータを表示するようにカスタマイズされたPS1があります。別のグループに切り替えると、newgrpPS1はデフォルト($)に切り替えられ、迷惑になります。変更されたグループからデフォルトグループに戻っても、デフォルトグループはそのまま残ります。

これを停止し、.profileに設定したPS1を保持する方法はありますか?

>uname -a
SunOS he2unx207 5.10 Generic_147440-19 sun4u sparc SUNW,Sun-Fire-880

もちろん、newgrpの後に.profileをソースとして使用すると、PS1は正しく適用されますが、newgrpが.profileに設定されている内容を効果的にキャンセルするため、迷惑になります。リンクされた有効なグループだけを変更でき、他の設定を変更できないのはなぜですか?

ベストアンサー1

エクスポートした場合は、PS1この値をリセットしないでください。ソラリスの惑星からnewgrp マンページ:

エクスポートされていない変数は null またはデフォルト値にリセットされます。エクスポートされた変数はその値を保持します。システム変数(たとえばPS1、、、および)は、システムPS2またはユーザーがエクスポートしない限り、デフォルト値にリセットされます。たとえば、ユーザーに$(デフォルト)()以外のデフォルトのプロンプト文字列があり、エクスポートされていない場合、newgrpがエラーで終了しても、ユーザーのデフォルトのプロンプト文字列はデフォルトのプロンプト文字列$に設定されます。シェルコマンドのエクスポート((1)と(1)を参照)は、新しいシェルが呼び出されたときに割り当てられた値を保持するように変数をエクスポートする方法です。PATHMAILHOMEPS1PS1PS1shset

あるいは、ログインしたばかりの環境を再初期化する-ためにフラグを渡すこともできます。newgrp

おすすめ記事