J'ai écrit un script shell qui exécute automatiquement un script python sur tous les fichiers C++ qu'il peut trouver dans un répertoire spécifié. Je l'ai testé, ça a bien fonctionné, et je l'ai sauvegardé et oublié; problème est que je suis revenu à l'utiliser et a rencontré un problème (s'avère que je ne l'ai pas testé assez hein?). Quoi qu'il en soit, les chemins du répertoire source que je testais auparavant n'avaient pas d'espaces dans leurs noms, par ex. Mais quand j'essaie d'exécuter le script en utilisant un chemin avec des espaces, par exemple, je ne peux pas exécuter le script.Problème lors de l'utilisation de "find" dans le script shell
/Documents\ and\ Settings/subfolder/src/
Cela ne fonctionne pas.
J'ai localisé où le problème est, mais je ne suis pas sûr de savoir comment le résoudre. Voici le code origine du problème:
names=($(find "${SOURCE_ROOT_DIRECTORY}" -regex "[A-Za-z0-9]*.*\(cpp\|h\|cc\)$"))
L'expression régulière fonctionne avec des chemins sans espaces, donc je ne sais pas s'il y a un problème avec l'expression régulière, ou si la commande se arrête « trouver » lorsqu'il rencontre un espace.
Quelqu'un peut-il aider?
Ceci a été la solution qui a fonctionné pour m e, donc c'est ma réponse acceptée :) – BigStuuu