Key*_*ate 6 users environment-variables whoami
在阅读有关环境变量的信息时,我遇到的一个是LOGNAME
,我想知道此变量与命令logname
返回的任何内容之间的区别- 因为它们返回的内容确实有所不同。
-bash-3.2$ logname
user11
-bash-3.2$ echo $LOGNAME
user1
Run Code Online (Sandbox Code Playgroud)
虽然,whoami
返回相同的用户LOGNAME
-bash-3.2$ whoami
user1
Run Code Online (Sandbox Code Playgroud)
logname
上升拥有tty
(通过从 读取/var/run/utmp
)的用户,而$LOGNAME
是包含执行当前 shell 进程的用户的环境变量。您可以使用以下命令轻松验证这一点:
# 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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6240 次 |
最近记录: |