GNU/Linux >> Tutoriels Linux >  >> Linux

Sous Unix, puis-je exécuter "make" dans un répertoire sans d'abord accéder à ce répertoire ?

make -C /path/to/dir


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

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

Cela exécute la commande dans un sous-shell dont le répertoire de travail a d'abord été modifié (tout en laissant le répertoire de travail du shell parent seul). Ici && est utilisé à la place de ; pour détecter les cas d'erreur où le répertoire ne peut pas être modifié.


Si la raison pour laquelle vous ne voulez pas accéder à un répertoire est que vous devez rester dans le répertoire courant pour une tâche ultérieure, vous pouvez utiliser pushd et popd :

pushd ProjectDir ; make ; popd

Cela va dans ProjectDir, exécute make et revient là où vous étiez.


Linux
  1. Impossible d'exécuter un tel fichier ou répertoire [Réparer]

  2. Pouvez-vous mettre plusieurs scripts exécutables dans un seul répertoire et, en vous procurant ce répertoire, rendre toutes ces commandes disponibles ?

  3. MySQLdump sans mot de passe dans cronjob

  4. Comment puis-je exécuter dos2unix sur un répertoire entier ?

  5. Impossible de supprimer un répertoire sous Unix

12 commandes amusantes de Linux qui peuvent vous faire rire

Ssh - Besoin d'un Tty pour exécuter Sudo si je peux Sudo sans mot de passe?

Comment puis-je trouver un fichier/répertoire qui pourrait se trouver n'importe où sur la ligne de commande Linux ?

Comment puis-je faire en sorte que ls affiche d'abord les fichiers de points?

Puis-je exécuter un serveur Oracle sans swap ?

Existe-t-il un outil de ligne de commande Unix capable d'analyser les fichiers de police ?