![내부 명령과 동일한 이름의 외부 명령(프로그램)이 있으면 기본적으로 어떤 명령이 실행됩니까?](https://linux55.com/image/122485/%EB%82%B4%EB%B6%80%20%EB%AA%85%EB%A0%B9%EA%B3%BC%20%EB%8F%99%EC%9D%BC%ED%95%9C%20%EC%9D%B4%EB%A6%84%EC%9D%98%20%EC%99%B8%EB%B6%80%20%EB%AA%85%EB%A0%B9(%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8)%EC%9D%B4%20%EC%9E%88%EC%9C%BC%EB%A9%B4%20%EA%B8%B0%EB%B3%B8%EC%A0%81%EC%9C%BC%EB%A1%9C%20%EC%96%B4%EB%96%A4%20%EB%AA%85%EB%A0%B9%EC%9D%B4%20%EC%8B%A4%ED%96%89%EB%90%A9%EB%8B%88%EA%B9%8C%3F.png)
bash
이라는 내부 명령이 있고 kill
, 리눅스에는 이라는 외부 명령(프로그램)이 있습니다 kill
.
kill
에서 실행하면 bash
내부 명령이 kill
실행됩니다.
두 가지 질문이 있습니다.
- 기본적으로 내부 명령 대신 외부 명령이 실행되도록 설정을 변경할 수 있습니까(물론 외부 명령에 대한 전체 경로를 지정하지 않고).
- 기본적으로 외부 명령 대신 내부 명령을 실행하는 것이 모든 (기본) 쉘의 표준 동작입니까, 아니면 단지 문제입니까
bash
?
답변1
전화 해서
env
.$ env kill kill: not enough arguments $ kill kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
모든 쉘 및 명령 프로세서.
답변2
첫 번째 질문에: 예, 내부 명령 대신 기본적으로 외부 명령을 실행하도록 설정하는 것이 있습니다.
다음과 같이 내장 기능을 끌 수 있습니다.
enable -n COMMAND
내장된 기능을 켜는 방법은 다음과 같습니다.
enable COMMAND
또는 명령의 우선순위를 변경할 수 있습니다. Bash 명령의 우선순위는 다음과 같습니다.
- 별칭, 최고
- 기능
- 내장
- $PATH의 외부 명령
두 번째 질문: 내부 명령이 외부 명령보다 우선한다고 항상 가정할 수 있다고 생각합니다. 이것은 단지 배쉬 일이 아닙니다.