Não é possível executar o programa C a partir do shell

1

Eu programei meu primeiro programa, um típico calculando o quadrado do triângulo com Xcode e TextWrangler, e depois quero executá-lo, mas não consigo.

Quando tento executá-lo, o Terminal diz Comando não encontrado todas as vezes…

MacBook-Pro:~ Gaspar$ /Users/Gaspar/Desktop/prova.c 
-bash: /Users/Gaspar/Desktop/prova.c: Permission denied
MacBook-Pro:~ Gaspar$ sudo /Users/Gaspar/Desktop/prova.c 
sudo: /Users/Gaspar/Desktop/prova.c: command not found

Como eu poderia configurá-lo para não precisar entrar no diretório o tempo todo?

    
por gasbi 17.09.2012 / 12:35

2 respostas

2

gcc /Users/Gaspar/Desktop/prova.c -o Users/Gaspar/Desktop/prova
/Users/Gaspar/Desktop/prova

verifique se ele tem o sinalizador de executável definido (ele deve ter por padrão) se não for definido:

ls -l Users/Gaspar/Desktop/prova

chmod +x Users/Gaspar/Desktop/prova
    
por 17.09.2012 / 13:53
1

O arquivo prova.c é um arquivo de origem. É texto simples e contém o código-fonte do seu programa. Depois de compilado, um novo arquivo será criado, provavelmente prova (sem extensão). Este é o executável - um arquivo binário - que você pode executar a partir do seu terminal.

Muitos executáveis no seu shell estão disponíveis em todos os lugares, sem ter que digitar o caminho completo. Por exemplo, sudo , na verdade, é /usr/bin/sudo , mas seu shell saberá pesquisar em /usr/bin . No entanto, seus próprios programas não são encontrados automaticamente pelo shell. Você terá que dizer onde está.

Basta digitar:

/Users/Gaspar/Desktop/prova

Se você não quiser escrever o caminho completo, apenas altere seu diretório de trabalho antes:

cd /Users/Gaspar/Desktop/

Agora você pode chamar seu programa assim, onde . especifica o diretório atual. Você terá que incluir o ./ , já que seu diretório atual normalmente não está na lista de caminhos em que o seu shell pesquisa programas executáveis.

./prova

Isso pode não funcionar se o binário não tiver direitos de execução definidos. Este é um sinalizador que permite que o arquivo seja executado a partir de um terminal. Se você receber um erro permissão negada , adicione a permissão de execução:

chmod +x prova

Agora, tente executar o arquivo novamente com ./prova .

    
por 17.09.2012 / 13:54

Tags