No unix/linux
world (o afaik mac está executando uma unix
variant) você não precisaria de nenhuma extensão de arquivo para programas, mas é uma boa prática dar a bash
scripts o .sh
, python scripts the .py
, perl a extensão .pl
(etc.) para humanos para identificar esses scripts sem ver o script verificando a linha she-bang. (Não sei se existem extensões específicas para o mac)
A parte importante é o sinalizador executável chmod +x ./myscript.sh
, que marca o arquivo como um programa que pode ser executado.
A linha she-bang
é a primeira linha em um arquivo e começa com #!
seguido pelo caminho completo apontando para um executável /usr/bin/bash
, /usr/bin/perl
, /usr/bin/python
.
Em algumas instalações Unix / Linux, pode ser possível que python
, bash
ou qualquer programa não esteja localizado em /usr/bin/
, mas em /opt/python3.6
, de modo que a% bang-co_de% não inicie o programa . Então, basicamente, é uma boa prática começar a linha "she-bang" com #! /usr/bin/python
seguido pelo programa que você quer iniciar, ou seja. #!/usr/bin/env
ou #!/usr/bin/env bash
.
Isto irá olhar para o ambiente vars ( PATH ) para esse programa.