Por que não consigo fazer “echo '#! / bin / sh” no Freebsd?

1

Por que não consigo fazer echo '#!/bin/sh no Freebsd? Apenas gera:

/bin/sh: Event not found

Eu tentei todos os combos de citações, mas nada ajuda. Eu tenho apenas o FreebsD 8.4 disponível.

    
por Koblid 02.11.2016 / 08:44

2 respostas

4

Apesar da mensagem de erro apontar o dedo para /bin/sh , o problema é que seu shell usa ! para inserir o histórico na linha de comando, e aspas não escapam da mágica de ! . Portanto, você precisa explicitamente escapar do ! com um \ .

Por exemplo:

echo #\!/bin/sh
    
por 02.11.2016 / 10:31
-1

Você pode desativar temporariamente as expansões de histórico enquanto executa esse comando:

$ echo !foo
bash: !foo: event not found
$ set +H; echo !foo; set -H
!foo
    
por 02.11.2016 / 11:32