/ / Situazione strana della shell Linux - linux, shell, shebang

Situazione strana della shell Linux - linux, shell, shebang

Qualcuno sa perché il seguente script funziona?

#a-random-junk-string
echo HI

La shell esegue il comando echo e emette HI. L'ho pensato poiché non c'è "!" dopo il "#", la shell darebbe un errore.

risposte:

12 per risposta № 1

Se non c'è #! specificando un interprete specifico, il nocciolo non lo intercetterà e lo avvierà con il programma specificato.

Tuttavia, la corrente conchiglia può ancora interpretarlo come un file di comando, che è ciò che stai vedendo accadere.


1 per risposta № 2

Quando viene richiesto alla shell di eseguire un file con ilil bit dell'eseguibile è attivato, quindi esaminerà il file e determinerà se inizia con un # shebang! se lo fa, eseguirà quel comando che otterrà il testo del programma dal resto del file.

Se il file non inizia con uno shebang, la shell tenterà di eseguirlo da solo. Questo è ciò che sta accadendo per te e la shell interpreta la prima riga come un commento.