GNU/Linux >> Linux Esercitazione >  >> Linux

In Unix, posso eseguire 'make' in una directory senza prima accedere a quella directory?

make -C /path/to/dir


Come notato in altre risposte, make(1) ha un -C opzione per questo; diversi comandi hanno opzioni simili (ad esempio tar). È utile notare che per altri comandi privi di tali opzioni si può usare quanto segue:

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

Questo esegue il comando in una sub-shell che prima ha cambiato la sua directory di lavoro (lasciando da sola la directory di lavoro della shell madre). Qui && è usato al posto di ; per rilevare i casi di errore in cui la directory non può essere modificata.


Se il motivo per cui non vuoi accedere a una directory è perché devi rimanere nella directory corrente per un'attività successiva, puoi usare pushd e popd:

pushd ProjectDir ; make ; popd

Questo va nella ProjectDir, esegue make e torna a dove eri.


Linux
  1. Ssh – Hai bisogno di un Tty per eseguire Sudo se posso Sudo senza password?

  2. MySQLdump senza password in cronjob

  3. Come posso eseguire dos2unix su un'intera directory?

  4. Come posso trovare un file/directory che potrebbe trovarsi ovunque sulla riga di comando di Linux?

  5. Esegui un ls senza ottenere il percorso completo

12 comandi divertenti di Linux che possono farti ridere

Come posso fare in modo che ls mostri prima i dotfile?

Eseguire un comando specifico in una determinata directory senza accedervi?

È vero che la prima versione di Linux era basata su parti di Unix?

Docker-compose:impossibile compilare SENZA sudo ma posso eseguire i contenitori senza di esso

Perché rm manual dice che possiamo eseguirlo senza alcun argomento, quando questo non è vero?