Cualquiera puede hacerme saber los posibles códigos de retorno para el comando rm -rf que no sea cero, es decir, posibles códigos de retorno para casos de falla. Quiero saber la razón más detallada del fallo del comando, a diferencia del fallo del comando (retorno distinto de 0).
9
man ls
en Ubuntu, explica la razón del estado de salida distinto de ceroRespuestas:
Para ver el código de retorno, puede usar
echo $?
en bash.Para ver el significado real, algunas plataformas (como Debian Linux) tienen el
perror
binario disponible, que puede usarse de la siguiente manera:rm -rf
suprime automáticamente la mayoría de los errores. El error más probable que verá es1
(Operación no permitida), que ocurrirá si no tiene permisos para eliminar el archivo.-f
suprime intencionalmente la mayoría de los erroresfuente
perror
. En mi sistema se envía con mysql.strace
le dice si falla una llamada del sistema, pero a menos que mire la fuente, no sabe cómo se relaciona la llamada al sistema con el estado de salida del programa (por ejemplo, si se ejecuta-f
,ENOENT
se suprime). Por lo tanto, eso no es relevante aquíagarró coreutils de git ...
mirando la salida vemos ...
Ahora mirando la variable de estado ...
Parece que no está sucediendo mucho allí con el estado de salida.
Veo EXIT_FAILURE y EXIT_SUCCESS y nada más.
así que básicamente 0 y 1 / -1
Para ver llamadas de salida específicas () y cómo se producen en un flujo de proceso, intente esto
bastante simple.
árbitro:
http://www.unix.com/man-page/Linux/EXIT_FAILURE/exit/
fuente
0 / >0
.I want to know more detailed reason for the failure of the command unlike just the command is failed(return other than 0)
por lo que los votos negativos son comprensibles.if (!(flags & FILEUTILS_FORCE)) {
agregarelse{printf("same error message as perror");}
y estoy seguro de que otras implementaciones ser similar, pero si no, la versión de busybox podría construirse por sí sola e incluirse.