我需要从 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/