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, PATH, MAILHOME)는 시스템이나 사용자가 내보내지 않은 한 기본값으로 재설정됩니다. 예를 들어 사용자에게 PS1$(기본값)( ) 이외의 기본 프롬프트 문자열이 있고 내보내지지 않은 경우 newgrp가 오류로 종료되더라도 PS1사용자의 기본 프롬프트 문자열은 기본 프롬프트 문자열 $로 설정됩니다. PS1쉘 명령 내보내기( sh(1) 및 set(1) 참조)는 새 쉘이 호출될 때 할당된 값을 유지하도록 변수를 내보내는 방법입니다.

또는 방금 로그인한 것처럼 환경을 다시 초기화하기 -위해 플래그를 전달할 수 있습니다.newgrp

관련 정보