Como executar meu próprio programa sem especificar seu caminho

11

Vamos supor que eu compilei algo e execute-o assim:

$ /path/to/my/executable/mycmd
Hello World

O que eu preciso fazer para executá-lo

$ mycmd
Hello World 

de todos os lugares no meu computador?

nacho4d
fonte

Respostas:

15

O que você está procurando é a PATHvariável ambiental. Diz ao shell, onde ele precisa procurar programas. Você pode ver o valor atual dessa variável usando echo:

echo "$PATH"

Agora ... A melhor prática para usar um novo programa é instalá-lo usando o programa de gerenciamento de pacotes para sua distribuição. Mas, neste caso, suponho que você esteja lidando com um programa que não é entregue por nenhum pacote de software disponível. Para esses programas, você tem duas opções:

  1. Instale o programa em todo o sistema, em um local em que seu sistema não coloque nenhum arquivo instalado nos pacotes. Na maioria dos sistemas, essas pastas "seguras" incluem /usr/local/bin/e /opt/bin/- essas já devem estar no seu PATH. (Olhe dentro dessas pastas e, se houver muitos arquivos, é o local errado para colocar seu próprio programa e você precisará procurar outras pastas listadas no seu PATH.)
  2. Modifique sua PATHvariável. Isso é menos seguro, pois define pastas adicionais nas quais os programas podem ser mantidos e alguém pode enganá-lo, colocando seu próprio programa lá para você executar.

    Você pode modificar a PATHvariável temporariamente, usando

    export PATH="$PATH:/path/to/your/executable"
    

    (lembre-se do $PATH depois = ) ou permanentemente adicionando a linha acima ao seu .bashrcarquivo (supondo que você o use bash).

rozcietrzewiacz
fonte