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?
test
per lo stesso motivo; test
è anche una shell integrata.
test
sembra avere senso. Certo, quando l'avrai inserito, PATH
avresti dovuto trovare un nome diverso. E fino a quando non inserirai il programma nel tuo PATH
dovresti invocarlo come ./test
comunque. Quindi è un po 'OK usare il nome test
per un programma purché si tratti di un test rapido che si intende eliminare prima della fine della giornata.
foo
.
ls
allora ogni volta che vai a vedere se esiste, verrà eseguito (ma solo se modifichi il tuo percorso come hai fatto nella domanda).