我正在尝试寻找who -m
在 Unix 中运行的 Linux 等效程序。在 Unix 中,在通过等who -m
启动任何新的 shell 会话之前,提供您用于登录的第一个用户 ID。su
-m
在Linux 中切换到who
有不同的效果,到目前为止我无法在手册页中找到与我的需求相关的任何内容。
答案1
更新:我的答案(我是谁)是正确的,您的终端要么坏了,要么配置不正确,无法支持该功能。
根据评论,我做了一些研究,并询问一个朋友来帮忙。你没有说你正在使用哪个终端,但它很可能和 gnome-terminal 做同样的事情。
关于 gnome-terminal *当终端启动时,它不会更新 utmp 文件。这似乎是一个设计决定。稍后,当 who 读取 utmp 以查找相关信息时,它不存在,因此它只是退出并且不打印任何内容。
*我尝试使用 xterm、konsole 和 ssh 连接到各种发行版。
您希望who am i
哪个打印调用用户,而不是whoami
告诉您当前有效用户的用户名
如果给出了两个非选项参数,则“who”仅打印运行它的用户的条目(根据其标准输入确定),前面是主机名。传统上,给出的两个参数是“am i”,如“who am i”。
有趣的是,它埋藏在info coreutils 'who invocation'
如此有趣的地方(在基于 Linux CoreUtils 的系统上)who xyzzy plugh
也能正常工作。