web-dev-qa-db-ja.com

同等のMAC-ユーザー名とappdata

いくつか質問があります。

  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ですが、かなり一般的な質問です...

2
matlabgui

あなたは実際に彼らの家の構造に何かを置くためにユーザー名を必要としません。

_~/_を開始するだけで自宅に転送されるため、_~/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なしでlongnameを取得する方法がわからない…

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

これはすべて、インストールが現在ログに記録されているユーザーによって行われていることを前提としています。

3
Tetsujin