234 votes

Sous Unix, je peux courir ' faire ' dans un répertoire sans cd ' ing dans ce répertoire premier ?

Sous Unix, puis-je exécuter « make » dans un répertoire sans cd'ing dans ce répertoire d’abord ?

374voto

bmotmans Points 6788

make -C /path/to/dir

104voto

Dave C Points 747

Comme indiqué dans d'autres réponses, make(1) a un -C option; plusieurs commandes ont des options similaires (par exemple, goudron). Il est utile de noter que pour les autres commandes qui manquent de telles options suivantes peuvent être utilisées:

(cd /dir/path && command-to-run)

Cela exécute la commande dans un sous-shell qui, la première, a son répertoire de travail modifié (tout en laissant le répertoire de travail du shell parent seul). Ici, && est utilisé à la place de ; pour attraper les cas d'erreur où le répertoire ne peut pas être changé.

23voto

EnigmaCurry Points 2311

Si que vous ne voulez pas de cd dans un répertoire est parce que vous avez besoin de rester dans le répertoire courant pour une tâche plus tard, vous pouvez utiliser pushd et popd :

pushd ProjectDir ; faire ; popd

Qui va dans le ProjectDir exécute make et remonte à où vous étiez.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X