Ho creato un semplice programma C in questo modo:
int main(int argc, char *argv[]) {
if (argc != 5) {
fputs("Not enough arguments!\n", stderr);
exit(EXIT_FAILURE);
}
E ho il mio PERCORSO modificato in etc / bash.bashrc in questo modo:
PATH=.:$PATH
Ho salvato questo programma come set.c e lo sto compilando con
gcc -o set set.c
nella cartella
~/Programming/so
Tuttavia, quando chiamo
set 2 3
non succede nulla. Non è presente alcun testo.
chiamata
./set 2 3
dà il risultato atteso
Non ho mai avuto problemi con PATH prima e
which set
ritorna ./set. Quindi sembra che il PERCORSO sia quello corretto. Che sta succedendo?
testper lo stesso motivo; testè anche una shell integrata.
testsembra avere senso. Certo, quando l'avrai inserito, PATHavresti dovuto trovare un nome diverso. E fino a quando non inserirai il programma nel tuo PATHdovresti invocarlo come ./testcomunque. Quindi è un po 'OK usare il nome testper un programma purché si tratti di un test rapido che si intende eliminare prima della fine della giornata.
foo.
lsallora ogni volta che vai a vedere se esiste, verrà eseguito (ma solo se modifichi il tuo percorso come hai fatto nella domanda).