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
로 실패합니다.