Bash에서 "명령"이란 무엇입니까?

Bash에서 "명령"이란 무엇입니까?

터미널에 입력하면 command"명령을 찾을 수 없습니다"라는 메시지가 표시되지 않고 종료 코드는 0입니다. 나는 이것이 command실제로 bash에서 무언가가 이루어지고 있음을 의미한다고 생각합니다 .

또한 command -h다음을 반환합니다.

bash: command: -h: invalid option
command: usage: command [-pVv] command [arg ...]

그것은 무엇을 위해 사용됩니까?

답변1

에서 help command:

$ help command
command: command [-pVv] command [arg ...]
    Execute a simple command or display information about commands.

    Runs COMMAND with ARGS suppressing  shell function lookup, or display
    information about the specified COMMANDs.  Can be used to invoke commands
    on disk when a function with the same name exists.

    Options:
      -p    use a default value for PATH that is guaranteed to find all of
      the standard utilities
      -v    print a description of COMMAND similar to the `type' builtin
      -V    print a more verbose description of each COMMAND

    Exit Status:
    Returns exit status of COMMAND, or failure if COMMAND is not found.

보다 일반적인 참고 사항으로 다음을 -h시도해야 합니다.

type -a command

이 경우에는 쉘 내장 함수임을 알려줍니다.

help command

쉘 내장에 유용합니다. 다른 명령의 경우(및반품실제로 쉘 내장의 경우) 시도해보십시오.

man somecommand

또한, -h아니오~ 해야 하다"도움말" 옵션. 명령이 수행하는 작업을 모르는 경우 이는 안전한 가정이 아닐 수 있습니다. 더 안전합니다 --help.

somecommand --help

( -h유효한 옵션이지만아니요"도움말"은 ls, free, df, 을 의미합니다 du. 이 모든 것은 참고용이지만 -h단순히 "도움"을 의미한다는 가정은 위험한 가정입니다. )

답변2

command다른 거의 모든 것과 마찬가지로 Unix/Linux도 매뉴얼 페이지에 문서화되어 있습니다. Typing은 내장 명령 전용의 작은 섹션이 있는 man command매뉴얼을 제공합니다 .bashcommand

명령[-pVv] 명령[arg ...]

인수를 사용하여 명령을 실행하면 일반 쉘 함수 조회가 억제됩니다. 내장 명령이나 PATH에 있는 명령만 실행하십시오. -p 옵션이 제공되면 기본값인 PATH를 사용하여 명령 검색이 수행되어 모든 표준 유틸리티가 발견되는지 확인합니다. -V 또는 -v 옵션이 제공되면 명령에 대한 설명이 인쇄됩니다. -v 옵션을 사용하면 명령을 호출하는 데 사용되는 명령 또는 파일 이름을 나타내는 단어가 표시됩니다. -V 옵션은 더 자세한 설명을 생성합니다. -V 또는 -v 옵션이 제공되는 경우 명령이 발견되면 종료 상태는 0이고 발견되지 않으면 1입니다. 두 옵션 모두 제공되지 않고 오류가 발생하거나 명령을 찾을 수 없는 경우 종료 상태는 127입니다. 그렇지 않은 경우 내장 명령의 종료 상태는 명령의 종료 상태입니다.

관련 정보