Qualquer linha que começa com #
é um comentário em vários idiomas e é ignorada pelo intérprete ( perl
etc.).
No entanto, se a primeira linha de um script no Linux começar com #!
( shebang como é chamado), não é um comentário, mas uma diretiva para o carregador de programas para realmente executar o programa especificado após #!
e passar o nome do seu arquivo como o último argumento.
Por exemplo, se a primeira linha for
#!/usr/bin/perl -w
significa que o shell realmente invocará /usr/bin/perl -w /path/to/the/script
e você não precisa especificar um programa para executar este script, você pode executá-lo usando
/path/to/the/script
se você tiver permissão para executá-lo e ele estiver localizado em um sistema de arquivos suportado para execução e o arquivo tiver permissão para ser executado.
Para o intérprete, no entanto, esta linha é sempre apenas um comentário, portanto, se o script for executado como:
perl /path/to/the/script
a linha não tem efeito. (Obrigado ao Ruslan por apontar isto).
Esteja avisado que #
nem sempre é indicativo de um comentário. Por exemplo, uma instrução que comece com #
em C é a diretiva de pré-processador e não um comentário.
No seu caso, a linha é um comentário e será ignorada durante a execução.
Atualização:
O arquivo de que você está falando é um menu.lst
para o qual um comentário é uma linha que começa com ##
e não #
. (Fonte)