커맨드 파일의 제안에 대한 이야기는 무엇입니까? 알고 있습니다.

내가 읽는 동안 file(1)맨 페이지 (강조 광산)에서 이것을 발견했습니다.

/ etc / magic에 로컬 정의를 추가 할 때이 키워드를 유지하십시오. 사용자는 디렉토리에서 읽을 수있는 모든 파일에 “텍스트”라는 단어가 인쇄되어 있다는 사실을 알고 있습니다. 버클리처럼하지 말고“쉘 명령 텍스트”를“쉘 스크립트”로 변경하십시오.

이 문장 뒤에 숨겨진 이야기는 무엇입니까? 나는 추측 Berkeley을 의미 BSD (Berkeley software distribution)하지만 구글은 이에 대한 충분한 정보를 제공하지 않았다.

http://man7.org/linux/man-pages/man1/file.1.html에 연결file(1)

이 문장 27 년전 추가되었음을 보여 주위 뒷조사 링크

Don't do as one computer vendor did \- change ``shell commands text''
to ``shell script''.

나중에 현재 문장 링크로 변경

Don't do as Berkeley did \- change ``shell commands text''


답변

사람들은 file파일에서 실행할 스크립트 (및 C 프로그램)를 작성 하여 $(file foobar)또는로 출력을 캡처하고 popen()문자열 일치 확인을 수행하여 file“text”라는 단어 의 출력이 포함되어 있는지 (또는 끝났 는지) 확인했습니다 . 그런 다음 Berkeley Software Distribution (버클리 캘리포니아 대학)의 개발자가 설명한대로 모든 스크립트와 프로그램이
쉘 스크립트 파일을 텍스트 파일로 인식 하지 못하게 합니다.


답변

분명히 이것은 4.2와 4.3BSD 사이에서 발생했습니다 -http: //minnie.tuhs.org/cgi-bin/utree.pl?file=4.2BSD/usr/src/usr.bin/file.c 와 http : //를 비교 하십시오 . minnie.tuhs.org/cgi-bin/utree.pl?file=4.3BSD/usr/src/usr.bin/file.c