O que é um arquivo com extensão .sh?
É um script de shell Bourne . Eles são usados em muitas variações de sistemas operacionais semelhantes ao UNIX. Eles não têm "linguagem" e são interpretados pelo seu shell (intérprete de comandos do terminal) ou se a primeira linha estiver na forma
#!/path/to/interpreter
eles usarão esse intérprete específico. Seu arquivo tem a primeira linha:
#!/bin/bash
e isso significa que ele usa Bourne Again Shell, também chamado de bash. Para todos os efeitos práticos, é um substituto do bom e velho sh.
Dependendo do intérprete, você terá um idioma diferente no qual o arquivo foi escrito.
Lembre-se de que no mundo UNIX, não é a extensão do arquivo que determina o que o arquivo é (veja Como executar um script de shell).
Se você vem do mundo do DOS / Windows, deve estar familiarizado com os arquivos com as extensões .bat ou .cmd (arquivos em lote). Eles não são semelhantes em conteúdo, mas são semelhantes em design.
Como executar um script de shell
Ao contrário de alguns sistemas operacionais bobos, * nix não depende exclusivamente de extensões para determinar o que fazer com um arquivo. As permissões também são usadas. Isso significa que se você tentar executar o script de shell após baixá-lo, será o mesmo que tentar "executar" qualquer arquivo de texto. A extensão ".sh" existe apenas para sua conveniência para reconhecer esse arquivo.
Você precisará tornar o arquivo executável. Vamos supor que você tenha baixado seu arquivo como file.sh
, pode então executar em seu terminal:
chmod +x file.sh
chmod
é um comando para alterar as permissões do arquivo, +x
definir as permissões de execução (neste caso para todos) e finalmente você tem o nome do arquivo.
Você também pode fazer isso na GUI. Na maioria das vezes você pode clicar com o botão direito do mouse no arquivo e selecionar propriedades, no XUbuntu as opções de permissão são assim:
Se você não deseja alterar as permissões. Você também pode forçar o shell a executar o comando. No terminal, você pode executar:
bash file.sh
O shell deve ser o mesmo da primeira linha do seu script.
Quão seguro é isso?
Você pode achar estranho executar outra tarefa manualmente para executar um arquivo. Mas isso se deve parcialmente à grande necessidade de segurança.
Basicamente, quando você baixa e executa um script bash, é a mesma coisa que alguém dizendo "execute todos esses comandos em sequência no seu computador, prometo que os resultados serão bons e seguros". Pergunte a si mesmo se você confia na parte que forneceu este arquivo, pergunte-se se você tem certeza de que baixou o arquivo do mesmo lugar que você pensava, talvez até dê uma olhada dentro para ver se algo parece fora do lugar (embora isso exija que você sabe algo sobre comandos * nix e programação bash).
Infelizmente, além do aviso acima, não posso dar uma descrição passo a passo do que você deve fazer para evitar que coisas ruins aconteçam com seu computador; Portanto, lembre-se de que sempre que você obtém e executa um arquivo executável de alguém, na verdade está dizendo: "Claro, você pode usar meu computador para fazer algo".