Perché non riesco a fare "echo" #! / Bin / sh "in Freebsd?


1

Perché non posso farlo echo '#!/bin/shin Freebsd? Genera solo:

/ bin / sh: evento non trovato

Ho provato tutte le combinazioni di citazioni, ma niente aiuta. Ho solo Freebsd 8.4 a portata di mano.

Risposte:


4

Nonostante il messaggio di errore che punta il dito verso /bin/sh, il problema è che la shell usa !per inserire la cronologia nella riga di comando e le virgolette non sfuggono alla magia di !. Quindi è necessario sfuggire esplicitamente a !con a \.

Per esempio:

echo #\!/bin/sh

-1

È possibile disattivare temporaneamente le espansioni della cronologia mentre si esegue quel comando:

$ echo !foo
bash: !foo: event not found
$ set +H; echo !foo; set -H
!foo

2
FreeBSD non usa bashdi default, ma tcsh.
Roland Smith,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.