GNU/Linux >> Tutoriales Linux >  >> Linux

En Unix, ¿puedo ejecutar 'make' en un directorio sin hacer cd en ese directorio primero?

make -C /path/to/dir


Como se señaló en otras respuestas, make(1) tiene un -C opción para esto; varios comandos tienen opciones similares (por ejemplo, tar). Es útil tener en cuenta que para otros comandos que carecen de tales opciones, se puede usar lo siguiente:

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

Esto ejecuta el comando en un sub-shell que primero cambia su directorio de trabajo (mientras deja solo el directorio de trabajo del shell principal). Aquí && se usa en lugar de ; para detectar casos de error en los que no se puede cambiar el directorio.


Si la razón por la que no desea enviar un CD a un directorio es porque necesita permanecer en el directorio actual para una tarea posterior, puede usar pushd y popd:

pushd ProjectDir ; make ; popd

Eso va a ProjectDir, ejecuta make y vuelve a donde estabas.


Linux
  1. No se puede ejecutar No existe tal archivo o directorio [Fijar]

  2. ¿Ejecutar un comando que está sombreado por un alias?

  3. ¿Puede colocar varios scripts ejecutables en un directorio y, al obtener ese directorio, hacer que todos esos comandos estén disponibles?

  4. Ssh:¿necesito un Tty para ejecutar Sudo si puedo Sudo sin contraseña?

  5. No se puede eliminar un directorio en Unix

12 divertidos comandos de Linux que pueden hacerte reír

¿Cómo puedo ejecutar dos2unix en un directorio completo?

¿Cómo puedo encontrar un archivo/directorio que podría estar en cualquier lugar de la línea de comandos de Linux?

¿Cómo puedo hacer que bazel use almacenamiento externo al construir?

¿Puedo ejecutar un servidor Oracle sin intercambio?

¿Es cierto que la primera versión de Linux estaba basada en partes de Unix?