J'ai un fichier dans $ HOME / bin (avant de demander, oui, il se trouve dans mon chemin) appelé testet j'ai confirmé qu'il peut être exécuté correctement lorsque je l'exécute avec le chemin d'accès complet au fichier. Cependant, j'ai un problème vraiment bizarre quand je ne le fais pas de cette façon. Quand je viens de courir testdans le terminal, il ne fait rien et revient immédiatement. Je sais que ce n'est pas un problème de trouver le fichier pour plusieurs raisons:
Il n'y a aucun message d'erreur. Normalement, si le fichier est introuvable ou ne peut pas être exécuté, un message sera imprimé pour le dire.
L'exécution
which testrenvoie toujours le chemin de fichier correct.Probablement le plus étrange de tous - le script fonctionne bien lorsqu'il est exécuté
strace. J'ai essayé d'utiliserstracepour voir si je pouvais comprendre ce qui se passait, mais lorsque je l'ai exécutéstrace, cela a fonctionné comme prévu avec 0 problème.
typepaswhich. Voir Pourquoi ne pas utiliser «lequel»? Que faut-il utiliser alors?