从不同平台上的命令行获取用户名

时间:2012-07-26 15:52:04

标签: matlab username platform-independent

在MATLAB中是否有办法获取启动会话的用户的用户名?

我对 Windows Linux Mac OSX 的解决方案感兴趣。我想如果解决方案是特定于平台的,那么两种解决方案都可以按如下方式集成:

if ispc
    user_name = % method 1
elseif isunix
    user_name = % method 2
elseif ismac
    user_name = % method 3
end

3 个答案:

答案 0 :(得分:13)

如何使用Java(适用于MATLAB支持的所有平台):

user_name = java.lang.System.getProperty('user.name')

答案 1 :(得分:4)

if isunix
    [~, user_name] = system('whoami') % exists on every unix that I know of
    % on my mac, isunix == 1
elseif ispc
    [~, user_name] = system('echo %USERDOMAIN%\%USERNAME%') % Not as familiar with windows,
                            % found it on the net elsewhere, you might want to verify
end

希望有所帮助!您可能还想放入一个else I'm confused子句,以防您确实发现该系统不是unix或pc。

答案 2 :(得分:1)

要在Windows上获取它:

getenv('USERNAME')