web-dev-qa-db-ja.com

完全なユーザー名の取得

Ubuntuで完全なユーザー名を検索するにはどうすればよいですか?この情報を環境変数GIT_AUTHOR_NAMEおよびGIT_COMMITTER_EMAILに伝搬させたい。

8
Nordlöw

/etc/passwdファイルのこれらのフィールドはGECOSフィールドと呼ばれます。残念ながら、フルネームなど、この単一のフィールドを取得する単一のコマンドは見つかりません。これは、シェルスクリプトを使用しないと実現できないと思います。以下に2つのアプローチを示します。

  • passwdを直接解析します:

    getent passwd $USER | cut -d ':' -f 5 | cut -d ',' -f 1
    Gert van Dijk
    
  • fingerの使用

    finger -m $USER | head -n 1 | sed 's/\(.*\)Name\:\s\(.*\)$/\2/g'
    Gert van Dijk
    

SOに関する関連質問: Linux/POSIXシステムでユーザーのフルネームを取得する最も簡単な方法は何ですか?

Cでのプログラミングの場合、このisgetpwnam() を使用することでよりエレガントになります。


しかし、実際には、Gitで1人のユーザーが使用するには次のようにします。

git config --global user.name "Your Full Name"
git config --global user.email "[email protected]"
9
gertvdijk