Qual é a história por trás da sugestão do arquivo de comando?

12

Enquanto estou lendo file(1), notei isso na página de manual (ênfase minha):

Ao adicionar definições locais ao / etc / magic, preserve essas palavras-chave. Os usuários dependem de saber que todos os arquivos legíveis em um diretório têm a palavra "texto" impressa. Não faça o que Berkeley fez e altere "shell command text" para "shell script".

Qual é a história por trás dessa frase? Eu acho que Berkeleyse refere, BSD (Berkeley software distribution)mas o Google não deu informações suficientes sobre isso.

Link para file(1) http://man7.org/linux/man-pages/man1/file.1.html

Algumas pesquisas mostram que esta declaração foi adicionada há 27 anos link

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

e posteriormente alterado para o link de declaração atual

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

Respostas:

6

As pessoas estavam escrevendo scripts (e possivelmente programas em C) para rodar fileem um arquivo, capturando a saída com $(file foobar)ou popen()e fazendo uma verificação de correspondência de sequência para ver se a saída filecontinha (ou terminava com) a palavra "texto". Em seguida, os desenvolvedores da Berkeley Software Distribution (na Universidade da Califórnia, Berkeley) fizeram como descrito e fizeram com que todos esses scripts e programas não reconhecessem os arquivos de shell como arquivos de texto.

Scott
fonte
Quando isso aconteceu? Alguma referência?
yegle 28/02
Provavelmente foi no final (muito tarde) da década de 1970 ou no início da década de 1980. Não consigo encontrar uma referência; Estou retransmitindo minha memória.
Scott
not to recognize shell script files as text files. shell script pode conter dados binários :) ver: detecção de falha do shell scripts com dados binários incorporados , ! magia Buggy: #! / bin / sh com dados binários incorporados relatado como 'dados' , Fix
Evgeny Vereshchagin
@ EvgenyVereshchagin: OK, isso é meio que relevante para o tópico - mas não muito. Ou você está fazendo um ponto?
Scott