/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"라는 이름은 망가질 것입니다).