Sim, pode ser um comando global.
Não há diferença: um executável é um executável. Não importa em que idioma um executável é escrito (algumas linguagens podem fazer algumas coisas que outras não podem, mas ainda são executáveis). No Unix, o executável não deve ter uma extensão de arquivo: o .sh
no final é apenas parte do arquivo, nada de especial. No entanto, ele diz ao chamador em qual idioma ele foi escrito e torna impossível alterar o idioma, sem atualizar todos os chamadores.
Scripts e programas são procurados procurando na variável $PATH
.
digite echo $PATH
para obter uma lista de onde o sistema pesquisa ( sudo echo $PATH
, para onde ele procura quando você é root). É o mesmo lugar quando se procura por não-scripts (como todos eles são executáveis).
Executando programas locais (no mesmo diretório)
Para executar algo que esteja no mesmo diretório, você precisa fazer ./«script-name»
, a menos que alguém tenha, perigosamente, adicionado .
ao PATH
.