私が環境変数を読んでいる間に私が見つけたのは、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