J'ai créé un programme C simple comme ceci:
int main(int argc, char *argv[]) {
if (argc != 5) {
fputs("Not enough arguments!\n", stderr);
exit(EXIT_FAILURE);
}
Et j'ai mon PATH modifié dans etc / bash.bashrc comme ceci:
PATH=.:$PATH
J'ai enregistré ce programme en tant que set.c et je le compile avec
gcc -o set set.c
dans le dossier
~/Programming/so
Cependant, quand j'appelle
set 2 3
il ne se passe rien. Aucun texte n'apparaît.
Appel
./set 2 3
donne le résultat attendu
Je n'ai jamais eu de problème avec PATH auparavant et
which set
retourne ./set
. Il semble donc que le CHEMIN soit le bon. Que se passe-t-il?
test
pour essentiellement la même raison; test
est également un shell intégré.
test
semble logique. Bien sûr, au moment où vous le mettez dans votre, PATH
vous devriez vraiment avoir trouvé un nom différent. Et jusqu'à ce que vous mettiez le programme dans votre, PATH
vous devrez l'invoquer comme de ./test
toute façon. Il est donc test
assez correct d'utiliser le nom d'un programme tant qu'il s'agit d'un test rapide que vous avez l'intention de supprimer avant la fin de la journée.
foo
.
ls
chaque fois que vous allez voir s'il existe, il s'exécutera (mais uniquement si vous modifiez votre chemin comme vous l'avez fait dans la question).