내가 무엇을 사용하고 있나요?
- 다루기 힘든
- 맥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 평균 혈압 %
추가 읽기
- Paul Falstadet al. (2015-12-02). "Shell이 설정한 매개변수".Z 하우징 매뉴얼. 5.2.