누구, whoami 그리고 "나는 누구인가"

누구, whoami 그리고 "나는 누구인가"

who및 명령을 이해할 수 있지만 whoami다음을 입력하면 정확히 무슨 일이 발생합니까?

who am i

그리고

who am

나는 우분투에 있고 그 후에는 아무 일도 일어나지 않습니다!

Linux/UNIX가 오류 메시지("알 수 없는 매개변수" 줄의 내용에 대한 who)로 응답하지 않거나 출력으로만 응답하지 않는 이유는 무엇입니까 who?

답변1

아무 것도 출력되지 않으면 whoami쉘이 로그인 쉘이 아니라는 의미일 수 있습니다. who의 표준 입력과 연관된 사용자가 없으므로 who아무 것도 출력되지 않습니다. 이는 오류가 아니므로 오류 메시지를 출력하지 않습니다.

당신이 달리면

xterm -ls

로그인 셸을 사용하여 터미널을 열려면 터미널을 찾아서 제대로 whoami작동 해야 합니다 who am i. 원격 로그인을 사용하는 경우에도 마찬가지입니다.예를 들어SSH.

답변2

입력할 때:

$ who am i

쉘(모든 쉘)에서 첫 번째 단어( who)는 "명령"으로 구문 분석됩니다.
따라서 PATH에서 누가 검색되고 일단 발견되면 다른 모든 매개변수/단어/매개변수가 명령에 대한 인수로 제공됩니다.

who주장을 설명하는 것이 우리의 임무입니다.

실제로 리눅스에서는세계보건기구 핸드북"나는"에 대해 이런 말이 있습니다.

ARG1 ARG2가 주어지면 -m은 "I am" 또는 "Mom likes"가 일반적이라고 가정합니다.

따라서 who"stdin과 관련된 호스트 이름 및 사용자"( -m옵션)만 인쇄됩니다.

stdin과 연관된 사용자가 없으면 아무것도 인쇄되지 않습니다.

관련 정보