Bash o sh no pueden ejecutar ningún archivo binario

Si bien puedo ejecutar binarios, cuando la terminal está abierta, si escribo:

/bin/bash make

o

/bin/sh ls

Obtengo: /usr/bin/make: /usr/bin/make: no se puede ejecutar el archivo binario

¿Porqué es eso? Estoy en Mavericks, y he instalado la última versión Command Line Toolsde XCode.

Quiero usar bash para ejecutar make, porque quiero configurar herramientas de compilación externas para AppCode.

Salud

Respuestas (1)

Cuando llama /bin/bashcon un solo argumento, solo puede ejecutar scripts . No binarios. Esto no tiene nada que ver con las herramientas que instaló, es solo el comportamiento descrito en la página de manual.

/bin/bash -c lsdeberías hacer lo que quieras.

¡Muchas gracias! Tengo otra pregunta. Cuando ejecuto /bin/bashel PATH env. var no está configurado. ¿ Hay algún CLA para bashejecutar mi .profilearchivo?
@Paschalis El -largumento hará que el shell sea un shell de "inicio de sesión", lo que significa que ejecutará su .profile/ .bash_profile/ etc.
Hmm, no funcionó, ¡pero encontré una solución para mi caso! ¡GRACIAS!
@Paschalis Funciona para mí, pero como una forma más general, la --init-fileopción le permitirá especificar un archivo para ejecutar al inicio.
Tenga en cuenta que si tiene la Terminal abierta, ya está ejecutando bash (a menos que haya cambiado su shell predeterminado). Por lo tanto, todo lo que tiene que hacer para que bash ejecute ls es escribir el comando ls. Cuando escribe /bin/bash -c ls, eso le dice a bash que ejecute otra instancia de bash y haga que esa instancia ejecute ls. No puedo pensar en una razón para molestarme con esa segunda instancia de bash ...
¡Sí, conozco a Gordon! ¡Solo quería escribir C, en un IDE decente! ¡Ni en Eclipse, ni en XCode, ni en gedit! :) (¡por favor no responda con vi, etc!)