내장 echo 명령과 /bin/echo의 차이점은 무엇입니까? [복사]

내장 echo 명령과 /bin/echo의 차이점은 무엇입니까? [복사]

type만지작 거리며 명령을 내리던 which중 이상한 점을 발견했습니다 .

type경로를 반환하거나 명령이 Bash 내장임을 나타냅니다. which내장 명령의 경우 경로가 반환되거나 아무것도 반환되지 않습니다 exit.type

이상하게도 type echo예상대로 echo가 내장되어 있습니다.

그러나 which echoecho 실행 파일의 경로로 /bin/echo를 사용하십시오. 이것은 다른 내장 명령에서는 발생하지 않는 것 같습니다.

Bash가 스크립트와 명령줄에서 실행하기로 선택한 둘 사이의 차이점이 무엇인지, 그리고 이 두 에코 뒤에 숨은 이야기가 무엇인지 알고 싶습니다.

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

답변1

내장 함수 echo와 명령이 있습니다 echo. type -a echo모두 보기 위해서입니다 .

자체적으로 내장된 쉘이기 때문에 type다른 내장에 대해서도 알고 있습니다.

그리고 which그냥 일반적인 명령입니다. 따라서 어떤 쉘을 사용하고 있는지 알지 못하고 디스크에 있는 명령만 알려줍니다.

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

관련 정보