쉘 USERNAME변수는 Z 쉘에서 특별합니다.

쉘 USERNAME변수는 Z 쉘에서 특별합니다.

내가 무엇을 사용하고 있나요?

  • 다루기 힘든
  • 맥OS 모하비 14.10

내가 하고 싶은 것

$ echo $USERNAME
myusername
$ export USERNAME=newvalue
$ echo $USERNAME
newvalue

뭐가 문제 야

$ echo $USERNAME
myusername
$ export USERNAME=newvalue
$ echo $USERNAME
myusername

내가 시도한 것

설정을 시도했지만 아무것도 변경 USERNAME되지 않았습니다....bashrc.zshrc.profile

재설정을 시도했지만 unset아무것도 바뀌지 않았습니다 ...

답변1

USERNAME변수는 Z 쉘에서 특별합니다.

이는 항상 쉘 프로세스 사용자 ID의 계정 이름입니다.

Almquist, Watanabe, Korn 또는 Bourne Again 쉘에서 관찰되는 동작은 관찰되지 않습니다. 그들이 생각하는 한, 이 변수는 초기에 설정되지 않은 일반적인 쉘 변수일 뿐입니다. 예를 들어 다음은 93 Korn 쉘입니다.

$echo$사용자 이름

$ 사용자 이름=위블
$echo$사용자 이름
그네
$

Z 셸에서는 셸 프로세스의 UID 계정 이름으로 시작합니다. 설정을 시도하면 해당 UID를 변경하려고 시도합니다. 물론 슈퍼유저가 아니고 변수를 이전 상태로 두면 이는 실패합니다.

USERNAME그러나 슈퍼유저로 Z 쉘을 실행하면 쉘 변수와 쉘 프로세스의 사용자 ID가 모두 변경되는 것을 볼 수 있습니다 .

루트#echo$사용자 이름
뿌리
루트#사용자 이름=JdeBP
평균 혈압 %

추가 읽기

관련 정보