환경 변수에 대해 읽는 동안 제가 발견한 것은 LOGNAME
이 변수와 명령에 의해 반환되는 것의 logname
차이점을 알고 싶다는 것입니다. 왜냐하면 반환되는 것이 실제로 다르기 때문입니다.
-bash-3.2$ logname
user11
-bash-3.2$ echo $LOGNAME
user1
하지만 whoami
동일한 사용자가 반환됩니다.LOGNAME
-bash-3.2$ whoami
user1
답변1
logname
tty
(에서 읽어서 /var/run/utmp
) 소유 사용자를 키우고 , 반면은 $LOGNAME
현재 셸 프로세스가 실행 중인 사용자를 포함하는 환경 변수입니다. 다음 명령을 사용하여 이를 쉽게 확인할 수 있습니다.
# ssh guido@localhost
# whoami
guido
# w
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
guido pts/3 localhost 13:02 0.00s 0.12s 0.03s sshd: guido [priv]
# echo $LOGNAME
guido
# sudo su
$ whoami
root
$ echo $LOGNAME
root
$ logname
guido
$ ps aux | grep bash
root 1145 0.5 0.1 110176 3604 pts/3 S 13:11 0:00 bash
root 1161 0.0 0.0 103304 844 pts/3 S+ 13:11 0:00 grep bash
guido 28363 0.0 0.1 110048 3516 pts/3 Ss 13:02 0:00 -bash