Eu criei um programa C simples assim:
int main(int argc, char *argv[]) {
if (argc != 5) {
fputs("Not enough arguments!\n", stderr);
exit(EXIT_FAILURE);
}
E eu tenho meu PATH modificado no etc / bash.bashrc da seguinte forma:
PATH=.:$PATH
Salvei este programa como set.c e estou compilando-o com
gcc -o set set.c
na pasta
~/Programming/so
No entanto, quando ligo
set 2 3
nada acontece. Não há texto que apareça.
Chamando
./set 2 3
dá o resultado esperado
Eu nunca tive um problema com PATH antes e
which set
retorna ./set. Parece que o CAMINHO é o correto. O que está acontecendo?
testbasicamente pelo mesmo motivo; testtambém é um shell embutido.
testparece fazer sentido. É claro que, no momento em que você o coloca, PATHvocê deve ter um nome diferente. E até você colocar o programa no seu, PATHvocê teria que invocá-lo da mesma ./testmaneira. Portanto, é bom usar o nome testde um programa, desde que seja um teste rápido que você deseja excluir antes do final do dia.
foo.
lssempre que for ver se ele existe, ele será executado (mas somente se você modificar seu caminho, como fez na pergunta).