Estoy ejecutando las pruebas de Debian y no puedo ejecutar ningún script binario o de shell. Sigo recibiendo "No existe ese archivo o directorio" para los archivos binarios y "Permiso denegado" para los scripts de shell ejecutables. El umask es el predeterminado y no he engañado con los caminos. Además, soy consciente de esta Pregunta, pero no funciona para mí: compilé mi código en esta máquina y traté de ejecutarlo en la misma máquina. Además, todos mis scripts de shell tienen el shebang correcto.
¿Algún consejo?
Editar: No estoy ejecutando ningún tipo de aplicación de Armor o SELinux.
Respuestas:
Más información incluyendo copiar / pegar de una sesión de terminal sería útil. Pero lo que hay que buscar de inmediato es que los binarios y los scripts tienen los permisos correctos (generalmente el modo 0755). Comprueba que la línea shebang en tus scripts apunta a un binario válido. Ejecute el comando "archivo" en un binario para asegurarse de que sea un verdadero binario para su arquitectura. Seguramente no todos sus archivos binarios obtienen "ningún archivo o directorio de este tipo", de lo contrario no habría podido compilar su código. Pruebe el comando "cuál" para ver si su shell puede encontrar el binario que está intentando ejecutar (por ejemplo, "qué fecha" para ver qué comando se ejecutaría si escribió "fecha") y para asegurarse de que encuentre el que está buscando. cree que está intentando ejecutarse (a veces, un comando aparece antes en su RUTA y no lo sabe).
fuente
Para archivos binarios, es un problema con el archivo o con el shell. Intenta ejecutarlo
sh
o contcsh
o volver a descargarlo / reinstalarlo (si lo hizo usted mismo, puede intentar recompilarlo). bash en sí es un binario y si puede acceder al shell, puede acceder a archivos binarios, y el problema está en el archivo y / o en el shell.Para los scripts de shell, si el error es "Permiso denegado", agregaría el privilegio de ejecución usando
chmod a+x filename
. El privilegio de ejecución es una forma de protección dada por los sistemas UNIX. No puede ejecutar scripts o binarios sin este privilegio.fuente