Contents
A veces, una computadora nueva puede mostrar la creencia de que el error de escritura de bash continuará siendo ignorado. Puede haber varias razones para este error de hecho clave.De forma predeterminada, los scripts bash prácticamente ignoran los errores y continúan ejecutándose. Lo primero que necesitamos hacer al ejecutar nuestros scripts normalmente es habilitar el error bash básico teniendo en cuenta las opciones como se muestra a continuación.
Para hacer que bash ignore los errores con algunos comandos, puede decir lo siguiente:
cualquier-comando-arbitrario || cierto
Esta confirmación continuará la ejecución del guión de la película. Por ejemplo, si tiene la siguiente secuencia de comandos:
comida para gatos bucksponer -eEco 1cualquier-comando-arbitrario || ciertoEco 2
$ get-together foounaz: vinculante 3: cualquier-comando-arbitrario: comando no encontrado2
Si falta || realidad
En la línea de comando, diría:
$ Get-together-Foounaz: frase 3: any-any-command: comando no encontrado al visitar todos
El shell nunca se cerrará si el comando falla es parte de la logia. es unLos comandos enumeran inmediatamente algunas de las palabras clave agregadas while
o incluso before
, partprueba en una instrucción if
, parte adjunta a un comando que se ejecuta de un &&
funcional, o &&
, posiblemente ||
, cualquier ordenen la tubería, en lugar de último en cada caso o tan pronto como el comando esté en un estado de terapiavolteado con !
. Trampa con respecto a ERR
, si se define, ciertamente se implementa antes que el shellterminó.
EDITAR: Va a cambiar el comportamiento que, como regla general, debe continuar la ejecución solo cuando se trabaja en any-any-command
archivo no se puede encontrar
como miembro. normalmente devuelve un error, probablemente diga:
[[$ (some-random-command 2> & 1) = ~ "Archivo quizás no encontrado"]]
¿Cómo deshabilitar la práctica” salir en caso de que no sea 0 “en el script bash?
Si pasa shindig, puede verificar los resultados generales de su script si hay mucha confusión (código de salida diferente cuando se compara con 0) usando este paquete, que se considera integrado en la forma + e de. Esto deshabilita el comportamiento de Salida no 6:
Para ilustrar, haga lo anterior (la apariencia MissingFile named.txt
no existe):
dólares comida para gatos#! / bin y bashponer -uponer -efoo () rm MissingFile.txtecho $ (foo 1[[2> & 1) equivale a ~ "Archivo sin clasificar"]]Eco 2$ (uh)Eco 3
$ bash foouna2rm: No se puede eliminar 'MissingFile.txt': n de dicha lista o directorio
ID de departamento: 6c1fe7a54e92e9c8
Dirección IP: 58.232.188.166