/etc/passwd
システムのファイル内の「説明」フィールド(フィールド5)の内容が一致しません。私はそれを抽出してユーザーのフルネームを取得できると思いました。
fullname=`awk -F: '$1 == name {print $5}' name=$LOGNAME /etc/passwd`
ただし、これは$fullname
名前の後に0、3、または4つのカンマが続くことを返します。ナビゲーションマニュアルページ(man 5 passwd
)は、「ユーザー名または説明フィールド」で説明する以外に、このフィールドの詳細を提供しません。
ユーザー名とともに他の情報が保存されていますか?
答え1
このフィールドは通常、次の形式で指定されます。GECOSフィールド、通常はカンマ区切りの4つのフィールドで、ユーザー名に加えて電話番号、建物番号などの追加情報を格納するために使用されます。
私が見たすべてのケースでフィールドにカンマがある場合、名前はコンマの前の名前です。しかし、私はそれが真実ではないと想像することができます(たとえば、「Foo Bar、Jr」という名前は壊れます)。