내장된 echo 명령과 /bin/echo의 차이점은 무엇입니까?

내장된 echo 명령과 /bin/echo의 차이점은 무엇입니까?

type나는 및 명령을 가지고 놀다가 which이상한 것을 발견했습니다.

type경로를 반환하거나 명령이 Bash 내장이라고 말합니다. which경로를 반환하거나 또는 같은 내장에 대해 아무것도 반환하지 않습니다 exit.type

이상한 점은 type echo예상대로 echo가 내장되어 있다는 것입니다.

그러나 which echo/bin/echo를 echo 실행 파일의 경로로 제공합니다. 다른 내장 명령에서는 이런 일이 발생하지 않는 것 같습니다.

Bash 중 하나가 스크립트와 명령줄에서 실행하도록 선택하는 두 가지 에코의 차이점이 무엇인지, 그리고 두 에코 뒤에 숨은 이야기가 무엇인지 궁금합니다.

내 시스템은 Ubuntu Desktop 12.04입니다.

답변1

echo내장 및 명령이 있습니다 echo. type -a echo모두 보려면 사용하세요 .

type그 자체가 쉘 내장이기 때문에 다른 내장에 대해 알 수 있습니다.

그리고 which그것은 단지 일반적인 명령일 뿐입니다. 따라서 어떤 쉘을 사용하고 있는지 알 수 없으며 디스크의 명령에 대해서만 알려줍니다.

일반적으로 type쉘에 단어를 입력하면 어떤 일이 발생하는지 알려주는 올바른 명령입니다.

관련 정보