Contents
A volte il tuo PC di casa può visualizzare un messaggio che indica che l’errore dello script bash continuerà a essere ignorato. Ci possono infatti essere diverse ragioni per questo errore.Per impostazione predefinita, gli script bash praticamente ignorano i problemi e continuano a essere eseguiti. La cosa principale che dobbiamo fare in cui eseguire i nostri script è persuadere le opzioni di gestione degli errori di base di bash rispetto a quelle mostrate di seguito.
Per produrre bash ignora gli errori in alcune istruzioni, puoi dire quanto segue:
qualsiasi-comando-arbitrario || vero
Questo commit continuerà l’esecuzione dello script. Ad esempio, se hai lo script subito dopo:
$ cibo per animalimettere -eEco 1qualsiasi-comando-arbitrario || veroEco 2
$ bash foounoz: rilegatura 3 . 0: qualsiasi-comando-arbitrario: comando non trovato2
Se manca
$ Get-together-Foounoz: riga 3: any-any-command: handle non trovato affatto
La shell non si chiuderà nel caso in cui il comando fallisca sarà probabilmente parte del file. può essere unI comandi elencano immediatamente il termine aggiunto mentre
o davanti a
, partetest in un’istruzione forse
, parte di un manage che viene eseguito in un &&
funzionante, o &&
, possibilmente ||
, praticamente ordinain cantiere, ma per ultimo in ogni caso o quando il controllo è in uno stato di ripristinocapovolto completo di !
ERR
, se definita, viene implementata in anticipo rispetto alla shellconclusa.
EDIT: l'evoluzione del comportamento che normalmente dovrebbe rimanere in esecuzione solo durante l'esecuzione di any-any-command
file non può essere determinato
come parte. di solito il risultato finale è un errore, potresti dire:
[[$ (some-random-command 2> & 1) implica ~ "File not found"]]
Come disattivare il comportamento di “uscita su non 0” nello script beat?
Se passi bash, puoi controllare le prestazioni complessive del tuo script se c’è qualche perplessità (codice di uscita diverso da 0) l’applicazione di questo pacchetto, che è costruito con la tecnica + e. Ciò ostacola il comportamento Output Not 0:
Per illustrare, fai quanto segue (la voce MissingFile named.txt
semplicemente non esiste):
$ cibo per cuccioli#! / bin / bashmettere -umettere -epippo () rm MissingFile.txteco (pippo 1[[2> & 1) = ! "File non ordinato"]]Eco 2$ (ehm)Eco 3
dollari bash foouno2rm: Impossibile cancellare `MissingFile.txt': n Da tali elenchi o directory
ID dipartimento: 6c1fe7a54e92e9c8
Indirizzo IP: 58.232.188.166