Tornar o programa capaz de executar a partir do comando do terminal

2

Ter programa em /home/user/Downloads/program/main

Eu posso iniciá-lo seguindo o comando cd /home/user/Downloads/program && ./main ou da GUI.

O que eu quero é iniciá-lo no terminal digitando main Eu tentei fazer ln -s /home/user/Downloads/program/main /usr/local/bin ou /bin , mas não teve efeito.

Antes de vincular eu emiti o comando chmod +x .

Este é um programa compilado, a mensagem de erro que recebo é main: command not found

O que estou fazendo de errado?

    
por micgeronimo 21.07.2016 / 16:55

3 respostas

2

Parece que você precisa adicionar esse diretório ao seu caminho. O comando exato para fazer isso depende de qual shell está em uso. Para o bash, você precisará de algo como:

export PATH=$PATH:/home/user/Downloads/program/

Explicação:

  • O PATH = $ PATH mantém o caminho existente como parte do novo caminho que você está criando.
  • O / home / user / Downloads / program / adiciona esse diretório ao caminho (no final, é a última coisa pesquisada).
  • A exportação coloca o caminho no shell para que permaneça ali. Você pode não precisar dessa parte para uma única sessão. No entanto, se você quiser manter isso em futuras sessões de login, você vai querer adicionar isso ao seu .bashrc (ou outro arquivo que é executado quando você faz o login).
por 21.07.2016 / 17:16
1

Quando você adiciona um novo programa ao caminho, você precisa digitar

rehash

Para que seja conhecido pelo shell.

    
por 23.07.2016 / 11:54
0

Como solução rápida, você pode criar um alias. Adicione a você o arquivo ~/.bashrc this:

alias main='/home/user/Downloads/program/./main' 

execute exec bash no seu terminal e ele deve funcionar. Se você não estiver usando o bash, algo semelhante funcionaria para outros shells. Por exemplo, escrevendo no arquivo ~/.zshrc para o shell zsh .

    
por 21.07.2016 / 17:22