command 명령
용도
단순 명령을 실행합니다.
구문
command [-p] command_name [argument...]
command [-p] [-v|-V ] command_name설명
command 명령을 사용하면 쉘이 쉘 기능 검색을 억제하면서 지정된 명령과 인수를 단순 명령으로 처리합니다.
일반적으로, /(슬래시)(특정 경로를 나타냄)가 명령 앞에 없으면, 쉘은 다음 범주를 검색하여 명령을 찾습니다.
- 특수 내장 쉘
- 쉘 기능
- 정규 내장 쉘
- PATH 환경 변수
예를 들어, 정규 내장과 이름이 같은 함수가 있는 경우, 시스템은 해당 함수를 사용합니다. command 명령을 통해 함수와 이름이 같은 명령을 호출하고 단순 명령을 가져올 수 있습니다.
command -v 및 command -V 명령은 쉘에서 사용되는 경로 이름과 쉘이 명령 유형을 해석하는 방식(내장, 함수, 별명 등)을 표준 출력에 기록합니다. -v 및 -V 플래그는 현재 쉘 환경과 관련하여 출력을 생성하므로, command 명령은 Korn 쉘 또는 POSIX 쉘 정규 내장 명령으로 제공됩니다. /usr/bin/command 명령은 서브쉘 또는 별도의 명령 실행 환경에서 호출되기 때문에 올바른 결과를 생성하지 않을 수 있습니다. 다음 예제에서 쉘은 별명, 서브루틴 또는 특수 쉘 명령을 식별할 수 없습니다.
(PATH=foo command -v)
nohup command -v플래그
| 항목 | 설명 |
|---|---|
| -p | PATH 환경 변수의 디폴트 값을 사용하는 명령 검색(즉, 모든 표준 명령 검색)을 수행합니다. |
| -v | 다음 규칙에 따라 지정된 명령을 호출하기 위해
현재 쉘이 사용하는 경로 이름을 표준 출력에 기록합니다.
지정된 명령 이름을 찾을 수 없으면 출력이 기록되지 않고 종료 상태는 >0 값을 리턴합니다. |
| -v | 현재 쉘 환경에 의해 해석될 명령 이름을 표준 출력에
기록합니다. 이 출력의 형식이 지정되지 않더라도, 출력은
다음 범주 중에서 명령이 속하는 범주를 표시합니다.
|
종료 상태
-v 또는 -V 플래그가 지정되면 다음 종료값이 리턴됩니다.
| 항목 | 설명 |
|---|---|
| 0 | 정상적으로 완료되었습니다. |
| > 0 | command_name 매개변수로 지정된 명령을 찾을 수 없거나 오류가 발생했습니다. |
-v 또는 -V 플래그가 지정되지 않으면 다음 종료값이 리턴됩니다.
| 항목 | 설명 |
|---|---|
| 126 | command_name 매개변수로 지정된 명령이 있지만 호출할 수 없습니다. |
| 127 | command 명령에서 오류가 발생했거나 command_name 매개변수로 지정된 명령을 찾을 수 없습니다. |
그렇지 않으면 command 명령이 command_name 매개변수로 지정된 명령과 연관된 종료 상태를 리턴합니다.
예
- 디렉토리를 변경할 때마다 새 작업 디렉토리를 인쇄하는 cd 명령의 버전을
작성하려면 다음을 입력하십시오.
cd () { command cd "$@" >/dev/null pwd } - 스크립트가 상위에 속하지 않도록
SSH(Secure Shell) 스크립트를 시작하려면 다음을 입력하십시오.
이때 PATH 환경 변수에서 호출한 디렉토리에 대한 올바른 권한이 지정된 경우 스크립트에는 호출한 명령이 의도한 명령인지 확인하는 기능이 있습니다.IFS=' ' # The preceding value should be <space><tab><newline>. # Set IFS to its default value \unalias -a # Unset all possible aliases. # Note that unalias is escaped to prevent an alias # being used for unalias. unset -f command # Ensure command is not a user function. PATH="$(command -p getconf _CS_PATH):$PATH" # Put on a reliable PATH prefix. # ...
파일
| 항목 | 설명 |
|---|---|
| /usr/bin/ksh | Korn 쉘 command 내장 명령을 포함합니다. |
| /usr/bin/command | command 명령을 포함합니다. |