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 ...]

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

관련 정보