MAC 等效项 - 用户名和应用程序数据

MAC 等效项 - 用户名和应用程序数据

我有一些问题:

  1. 在 PC 上,我可以从环境变量中获取用户名USERNAME,在 LINUX 上USER,那 MAC 上的对应内容是什么?

  2. 可以通过注册表(或等效项)找到 Windows 上的用户本地区域,在 LINUX 上,您可以~在命令提示符下输入 - MAC 等效项是什么?

注意,如果可能的话,我想从环境变量中提取这些(从代码中)。

例如,我想在 MAC 上的用户主区域中创建一个文件 > 我该如何构建以下变量 -:

这就是我的想法 - 有人可以证实吗(请注意,我面前目前没有 MAC 可以进行测试...)

% e.g.
userName = getenv ( 'USER' );  
userLocalArea = '~/Library/Preferences/';
filename = fullfile ( userLocalArea, userName );

最后,我使用的语言是 Matlab - 但这是一个非常普遍的问题......

答案1

您实际上并不需要用户名来将某些内容放入其主结构中。

只需启动~/它就会直接进入他们的主页,所以~/Library/会转到当前用户的
[Boot Drive]/Users/[User Name]/Library/

如果需要为所有用户安装,请使用/Library/

我猜这相当于 Windows 的%appdata%/

如果您确实需要名称和文件夹...

userName=$(logname)   
    or userName=$(user)
userLocalArea=$(home)

经过测试,似乎存在一些不一致之处 - 这些在终端中工作得更好……因为有些调用似乎在大写和小写中都不起作用,所以大写似乎是一个更安全的“规则”。比我聪明的人必须解释为什么有些在括号中有效而有些则不行。

userName=$LOGNAME
    or userName=$USER
userLocalArea=$HOME

这将获得他们的简称和主文件夹

不确定如何在没有 osascript 的情况下获取长名称……

osascript -e "long user name of (system info)"

这一切都假设您的安装是由当前登录的用户完成的。

相关内容