Toute ligne commençant par un #
est un commentaire dans de nombreux langages et est ignorée par l'interpréteur (perl
etc.).
Cependant, si la première ligne d'un script sous Linux commence par un #!
(shebang comme on l'appelle), ce n'est pas un commentaire mais une directive pour le chargeur de programme pour réellement exécuter le programme spécifié après #!
et lui transmettre le nom de votre fichier en dernier argument.
Par exemple, si la première ligne est
#!/usr/bin/perl -w
cela signifie que le shell invoquera effectivement /usr/bin/perl -w /chemin/vers/le/script
et vous n'avez pas besoin de spécifier un programme pour exécuter ce script, vous pouvez l'exécuter en utilisant
/chemin/vers/le/script
si vous avez la permission de l'exécuter et qu'il est situé sur un système de fichiers pris en charge pour l'exécution et que le fichier a la permission d'être exécuté.
Pour l'interpréteur, cependant, cette ligne est toujours juste un commentaire, donc si le script est exécuté comme suit:
perl /chemin/vers/le/script
alors la ligne n'a aucun effet. (Merci à Ruslan pour avoir souligné ceci).
Sachez que #
n'indique pas toujours un commentaire. Par exemple, une instruction commençant par un #
en C est une directive du pré-processeur et non un commentaire.
Dans votre cas, la ligne est un commentaire et sera ignorée lors de l'exécution.
Mise à jour:
Le fichier dont vous parlez est un menu.lst
pour lequel un commentaire est une ligne commençant par ##
et non #
. (Source)