name keywords etiquetas description content process unix

process - etiquetas - meta name keywords



127 Código de retorno de $? (7)

En general significa:

127 - comando no encontrado

pero también puede significar que se encuentra el comando,
pero una biblioteca que es requerida por el comando NO se encuentra .

¿Cuál es el significado del valor de retorno 127 de $? en UNIX.


Este error también es engañoso a veces. Dice que el archivo no se encuentra aunque los archivos estén presentes. Podría deberse a que los caracteres especiales ilegibles e ilegibles presentes en los archivos pueden ser causados ​​por el editor que está utilizando. Este enlace puede ayudarle en tales casos.

-bash: ./my_script: / bin / bash ^ M: mal intérprete: no existe tal archivo o directorio

La mejor manera de averiguar si se trata de este problema es simplemente colocar una declaración de eco en todo el archivo y verificar si se produce el mismo error.


No tiene un significado especial, aparte de que el último proceso para salir lo hizo con un estado de salida de 127.

Sin embargo, bash también lo utiliza (asumiendo que estás usando bash como shell) para decirte que el comando que intentaste ejecutar no se pudo ejecutar (es decir, no se pudo encontrar). Sin embargo, desafortunadamente no es deducible de inmediato, si el proceso salió con el estado 127, o si no se pudo encontrar.

EDITAR:
No es inmediatamente deducible, excepto por el resultado en la consola, pero esto es un desbordamiento de pila, por lo que asumo que estás haciendo esto en un script.


Si está intentando ejecutar un programa utilizando un lenguaje de scripting, es posible que deba incluir la ruta completa del lenguaje de scripting y el archivo para ejecutar. Por ejemplo:

exec(''/usr/local/bin/node /usr/local/lib/node_modules/uglifycss/uglifycss in.css > out.css'');


Una convención de shell es que un ejecutable exitoso debe salir con el valor 0. Cualquier otra cosa puede interpretarse como una falla de algún tipo, en parte de bash o el ejecutable que acaba de ejecutar. Vea también $ PIPESTATUS y la sección ESTADO DE SALIDA de la página de manual de bash:

For the shell’s purposes, a command which exits with a zero exit status has succeeded. An exit status of zero indicates success. A non-zero exit status indicates failure. When a command terminates on a fatal signal N, bash uses the value of 128+N as the exit status.

If a command is not found, the child process created to execute it returns a status of 127. If a com- mand is found but is not executable, the return status is 126. If a command fails because of an error during expansion or redirection, the exit status is greater than zero. Shell builtin commands return a status of 0 (true) if successful, and non-zero (false) if an error occurs while they execute. All builtins return an exit status of 2 to indicate incorrect usage. Bash itself returns the exit status of the last command executed, unless a syntax error occurs, in which case it exits with a non-zero value. See also the exit builtin command below.


127 - command not found

ejemplo: $ caat el mensaje de error será

golpetazo:

caat: comando no encontrado

¿ahora chequeas usando echo $?


El valor 127 es devuelto por /bin/sh cuando el comando dado no se encuentra dentro de su PATH sistema PATH y no es un comando de shell incorporado. En otras palabras, el sistema no entiende su comando, porque no sabe dónde encontrar el binario al que está tratando de llamar.