Пока я читал, file(1)
я заметил это на странице руководства (выделено мое):
При добавлении локальных определений в / etc / magic не забудьте сохранить эти ключевые слова. Пользователи зависят от знания того, что на всех читаемых файлах в каталоге напечатано слово «текст». Не делайте так, как сделал Беркли, и измените «текст команд оболочки» на «сценарий оболочки».
Какая история стоит за этим предложением? Я думаю, Berkeley
ссылается на, BSD (Berkeley software distribution)
но Google не дал достаточно информации об этом.
Ссылка на file(1)
http://man7.org/linux/man-pages/man1/file.1.html
Некоторые копания показывают, что это заявление было добавлено 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''
источник
not to recognize shell script files as text files
, Сценарий оболочки может содержать двоичные данные :) см .: Сбой обнаружения сценариев оболочки со встроенными двоичными данными , магия с ошибками: #! / bin / sh со встроенными двоичными данными, сообщаемыми как «данные» , ИсправлениеВидимо, это произошло между 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
источник