首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Bash中获取当前用户的用户名?

如何在Bash中获取当前用户的用户名?
EN

Stack Overflow用户
提问于 2013-10-11 05:43:58
回答 9查看 521K关注 0票数 426

我正在用Bash编写一个需要获取用户用户名的程序。

我听说过一种叫whoami的东西,但我不知道它是做什么的,也不知道如何使用它。

我应该使用什么命令来获取当前用户名?

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2013-10-11 05:49:01

在命令行上,输入

代码语言:javascript
复制
whoami

代码语言:javascript
复制
echo "$USER"

要将这些值保存到变量中,请执行以下操作

代码语言:javascript
复制
myvariable=$(whoami)

代码语言:javascript
复制
myvariable=$USER

当然,您不需要创建一个变量,因为这就是$USER变量的用途。

票数 618
EN

Stack Overflow用户

发布于 2017-02-16 03:55:24

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

代码语言:javascript
复制
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
票数 34
EN

Stack Overflow用户

发布于 2016-08-28 21:25:01

当需要root (sudo)权限时(使用脚本时通常是90%+权限),前面答案中的方法总是将root作为答案。

获取当前的“登录”用户同样很简单,但它需要访问不同的变量:$SUDO_UID$SUDO_USER

它们可以被附和:

代码语言:javascript
复制
echo $SUDO_UID
echo $SUDO_USER

或赋值,例如:

代码语言:javascript
复制
myuid=$SUDO_UID
myuname=$SUDO_USER
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19306771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档