"logname" 명령은 후속 "su" 호출에 관계없이 로그인한 사용자의 이름을 제공합니다. 예를 들어 현재 Mint에서는 "logname" 명령이 깨져서 로그 이름이 제공되지 않습니다. 다른 명령을 통해 기능을 얻고 싶습니다. "who -u" 명령의 출력에는 결과 줄 중 하나에 필수 정보가 포함되어 있습니다. 예:
schade tty7 2019-04-13 10:01 02:41 2674 (:0)
user1 tty8 2019-04-13 10:05 02:41 3518 (:1)
schade pts/3 2019-04-13 10:33 . 6274 (fd00::eb5d:1659:bda5:8b95)
user2 tty9 2019-04-13 10:34 02:41 6475 (:2)
schade pts/7 2019-04-13 12:16 . 10727 (fd00::eb5d:1659:bda5:8b95)
하지만 어느 것? 각 줄의 마지막 항목에서 두 번째 항목으로 현재 로그인의 pid(여기서는 셸의 pid가 아닌 2674)를 찾아야 합니다. 또는 컴퓨터 이름을 필터링하려면 ":0"으로 인코딩된 마지막 항목으로 찾아야 합니다. 어떻게 할 수 있니?
답변1
실행 중인 시스템 logind
에서
loginctl user-status | head -n 1
현재 세션에 로그인한 사용자의 로그인 이름과 uid가 표시됩니다. sudo
등에 대해서도 적용됩니다 .