Quando compilo egxc por:
GCC x.c -o x
Para executar o resultado, tenho que escrever:
./x
E apenas digitando:
x
Falha com esta mensagem:
x: comando não encontrado
Isso significa que o Linux não procura por ele no diretório atual! Existe (tenho certeza que existe) algum problema razoável por trás desse comportamento?
Responder1
Porque por padrão, o diretório de trabalho atual não está na PATH
variável.
Esta é uma medida de segurança/conveniência. Se você tiver binários/scripts chamados, por exemplo cd
, ls
, , etc. em seu diretório de trabalho atual, seria muito chato se eles fossem executados por padrão.
Responder2
Isso significa que o diretório atual não está na variável $PATH.
Responder3
Você pode corrigir isso adicionando o diretório atual (representado por um único ponto) à PATH
variável de ambiente.
A maneira de fazer isso depende do shell que você está usando.
se estiver usando o bash, você pode adicionar a linha export PATH=$PATH:.
ao .bashrc
arquivo em seu diretório inicial.
se você estiver usando csh ou tcsh, adicione a linha
set PATH = ($PATH .)
ao arquivo .cshrc em seu diretório inicial.
IMHO, para um computador desktop doméstico, isso é uma coisa aceitável de se fazer - em termos de segurança.