如何在Bash中获得当前用户的用户名?我用whoami吗?


当前回答

在大多数Linux系统上,只需在命令行上键入whoami即可提供用户ID。

但是,在Solaris上,您可能必须通过下面的命令确定登录用户的UID来确定用户ID。

echo $UID

一旦知道了UID,就可以通过与/etc/passwd文件匹配UID来查找用户。

cat /etc/passwd | cut -d":" -f1,3

其他回答

使用标准的Unix/Linux/BSD/MacOS命令logname检索登录用户。这忽略了环境和sudo,因为这些都是不可靠的记者。它将始终打印登录用户的名称,然后退出。这个命令大约在1981年就出现了。

My-Mac:~ devin$ logname
devin
My-Mac:~ devin$ sudo logname
Password:
devin
My-Mac:~ devin$ sudo su -
My-Mac:~ root# logname
devin
My-Mac:~ root# echo $USER
root

在命令行中输入

whoami

or

echo "$USER"

两个命令:

Id打印用户Id和组。 格式:uid=usernumber(用户名)… Whoami给出当前用户名

在大多数Linux系统上,只需在命令行上键入whoami即可提供用户ID。

但是,在Solaris上,您可能必须通过下面的命令确定登录用户的UID来确定用户ID。

echo $UID

一旦知道了UID,就可以通过与/etc/passwd文件匹配UID来查找用户。

cat /etc/passwd | cut -d":" -f1,3

在Solaris操作系统中,我使用了这个命令:

$ who am i     # Remember to use it with space.

在Linux上——有人已经在评论中回答了这个问题。

$ whoami       # Without space