왜'bash`실행에 실패했나요?

왜'bash`실행에 실패했나요?

bash <command>실행이 실패한 이유는 무엇 입니까?

$ bash date
/bin/date: /bin/date: cannot execute binary file

$ /bin/date
Fri Mar 18 05:59:24 EDT 2016

$ bash -c date
Fri Mar 18 06:00:39 EDT 2016

답변1

~에서수동:

옵션 처리 후에도 여전히 인수가 있고 -c또는 -s옵션이 제공되지 않은 경우 첫 번째 인수는 쉘 명령이 포함된 파일의 이름으로 간주됩니다.

따라서 bash date의미는 " date파일을 읽고 포함된 쉘 명령을 실행합니다"입니다. date현재 디렉토리에 파일이 없다고 가정하면 bash경로가 검색되어 /bin/date쉘 스크립트가 아닌 바이너리 파일인 것으로 밝혀져 오류가 발생합니다.

답변2

-c bash인수를 스크립트로 실행하려고 시도 하지 않습니다 . 이것은 스크립트 /bin/date가 아니므 bash로 실패합니다.

관련 정보