MAC equivalente - nome de usuário e appdata

2

Eu tenho algumas perguntas:

  1. No PC, posso obter o nome de usuário da variável de ambiente USERNAME e, no LINUX, é USER - qual é o equivalente do MAC?

  2. A área local do usuário no Windows pode ser encontrada através do registro (ou equivalente), no LINUX você digita ~ no prompt de comando - qual é o equivalente do MAC?

Note que eu gostaria de extrair essas variáveis de ambiente, se possível (do código).

por exemplo. Quero criar um arquivo na área inicial dos usuários no MAC > como eu construiria a seguinte variável -:

Isto é o que eu acho que é - alguém pode confirmar (note que eu não tenho atualmente um MAC na minha frente para testá-lo ...)

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

No final, a linguagem em que estou fazendo isso é o Matlab - mas é uma questão bem geral ...

    
por matlabgui 29.04.2015 / 09:14

1 resposta

2

Você não precisa realmente do nome de usuário para colocar algo em sua estrutura de origem.

Basta iniciar o ~/ para direcioná-lo para sua casa, portanto, ~/Library/ irá para o usuário atual [Boot Drive]/Users/[User Name]/Library/ .

Se você precisar instalar para todos os usuários, use /Library/ .

Eu acho que é o equivalente do Windows ' %appdata%/

Se você realmente precisar do nome & pasta…

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

Após os testes, parece haver alguma inconsistência - eles funcionam melhor no Terminal ... já que algumas chamadas não parecem funcionar tanto no modo superior quanto no superior. em letras minúsculas, parece que maiúsculas são uma 'regra' mais segura. Alguém mais esperto do que eu terá que preencher porque alguns trabalham entre parênteses & alguns não.

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

Isso terá o nome abreviado & pasta pessoal

Não sabe como obter o longname sem o osoftware…

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

Isso tudo assume que sua instalação está sendo feita pelo usuário atualmente logado.

    
por 29.04.2015 / 09:57