여러 매개변수를 표시하도록 맞춤화된 PS1이 있습니다. 다른 그룹으로 전환을 사용하면 newgrp
PS1이 기본값($)으로 전환되어 짜증납니다. 변경된 그룹에서 기본 그룹으로 다시 전환해도 기본 그룹이 그대로 유지됩니다.
이 작업을 중지하고 .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
,HOME
)는 시스템이나 사용자가 내보내지 않은 한 기본값으로 재설정됩니다. 예를 들어 사용자에게PS1
$(기본값)( ) 이외의 기본 프롬프트 문자열이 있고 내보내지지 않은 경우 newgrp가 오류로 종료되더라도PS1
사용자의 기본 프롬프트 문자열은 기본 프롬프트 문자열 $로 설정됩니다.PS1
쉘 명령 내보내기(sh
(1) 및set
(1) 참조)는 새 쉘이 호출될 때 할당된 값을 유지하도록 변수를 내보내는 방법입니다.
또는 방금 로그인한 것처럼 환경을 다시 초기화하기 -
위해 플래그를 전달할 수 있습니다.newgrp