Ich habe ein einfaches C-Programm wie folgt erstellt:
int main(int argc, char *argv[]) {
if (argc != 5) {
fputs("Not enough arguments!\n", stderr);
exit(EXIT_FAILURE);
}
Und ich habe meinen PATH in etc / bash.bashrc wie folgt geändert :
PATH=.:$PATH
Ich habe dieses Programm als set.c gespeichert und kompiliere es mit
gcc -o set set.c
im Ordner
~/Programming/so
Wenn ich jedoch anrufe
set 2 3
nichts passiert. Es wird kein Text angezeigt.
Berufung
./set 2 3
gibt das erwartete Ergebnis
Ich hatte noch nie ein Problem mit PATH und
which set
kehrt zurück ./set
. Es scheint also, dass der PFAD der richtige ist. Was ist los?
test
aus dem gleichen Grund aufzurufen . test
ist auch eine Shell eingebaut.
test
scheint es für schnelle Tests sinnvoll , ein Programm aufzurufen . Natürlich sollten Sie sich zu dem Zeitpunkt, an dem Sie es in Ihr PATH
Telefon einfügen, einen anderen Namen einfallen lassen. Und bis Sie das Programm in Ihr Programm PATH
eingefügt haben, müssen Sie es ./test
trotzdem aufrufen . Es ist also in Ordnung, den Namen test
für ein Programm zu verwenden, solange es sich um einen Schnelltest handelt, den Sie vor Tagesende löschen möchten.
foo
.
ls
dann benennen, wird es ausgeführt, wenn Sie nachsehen, ob es vorhanden ist (jedoch nur, wenn Sie Ihren Pfad wie in der Frage beschrieben ändern).