java - Runtime.getRuntime.exec ("who am i") 没有给出预期的结果

标签 java shell unix

我需要从 java 代码中找到登录用户,所以我使用以下选项: Runtime.getRuntime.exec("谁") Runtime.getRuntime.exec("我是谁")

两者都给出相同的结果(当我在提示符下给 who 命令时得到的结果)。 我猜它在空格后没有识别出任何东西。我也用其他命令尝试过,但结果相同。

代码有问题还是我需要设置一些环境,请帮助。

最佳答案

如果您只需要知道当前登录用户的名称,而不需要who 命令的其他信息(如 pty 名称等),您应该使用

System.getProperty("user.name"); 

这样你就可以保持平台独立,独立于语言环境(如果你不使用 C 语言环境,who am i 的输出格式可能会有所不同)并且它比调用外部命令更强大。

关于java - Runtime.getRuntime.exec ("who am i") 没有给出预期的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9147965/

相关文章:

java - 在Ireport中,如果我们将map作为参数从java传递给ireport,如何根据ireport字段的键访问map值

shell - 复制/粘贴到 emacs ansi-term shell 中

php - PHP 中 Wget 的问题

java - 如何通过tcp/ip从java接收文件到C?

c - 虚拟内存中的两个进程

java - Stringutils.join 替代方式

java - 退出onMessage()后jms调用message.acknowledge()

bash - 将数组传递给对话框菜单

java - 如何使 Spring Boot Rest api 成为有状态的

macos - 在mac中使用终端跨目录复制文件