Contents
Ibland kan din teknik visa ett meddelande som säger att bash-skriptfelet kommer att fortsätta att ignoreras. Det kan bara finnas flera orsaker till detta fel.Som standard ignorerar bash-skript praktiskt taget fel och fortsätter att köras. Det extremt vi behöver göra när vi någonsin kör våra skript är att ge grundläggande bash-felhanteringsalternativ jämfört med nedan.
För att få bash att ignorera fel i vissa riktningar kan du säga följande:
any-arbitrary-command || Sann
Denna commit kommer att fortsätta skriptkörningen. Till exempel, om du har det efterföljande skriptet:
$ tigermatsätta -eEko 1valfritt-godtyckligt-kommando || SannEcho 2
$ bash fooettz: binder en hel del: any-arbitrary-command: kommandot hittades inte2
Om saknas || true
På kommandoraden vill jag påpeka:
$ Get-together-Fooettz: rad 3: any-any-command: har inte hittat alls
Skalet kommer inte att stängas oavsett om kommandot misslyckas är definitivt en del av filen. har blivit enKommandona listar omedelbart den bifogade sökordsfrasen medan
eller före
, delentesta i en any time
-sats, en del av en kommandorad som körs i en hållbar &&
, eller &&
, möjligen ||
, beställningeni pipelinen, men dyker senast upp i varje enskilt fall eller när anskaffningen är i ett återställningstillståndvänt komplett med ERR
, om definierad, implementeras framför skaletslutade.
EDIT: Kommer att reglera beteendet som normalt bör starta vid exekvering endast när any-any-command
-fil körs kan inte detekteras
som en del. vanligtvis positiva aspekter ett fel, kan man säga:
[[$ (some-random-command 2> & 1) antyder ~ "Filen hittades inte"]]
Hur stänger man av beteendet “exit on non 0” i beatscript?
Om du klarar bash kommer du sannolikt att kontrollera den övergripande prestandan för ditt favoritskript om det finns någon ångest (exit-kod annan än 0) när du implementerar detta paket, som omedelbart är byggt med + e-tekniken. Detta hindrar beteendet Output Not 0:
För att illustrera, gör följande (posten MissingFile named.txt
existerar inte):
$ hundmat#! / bin / bashsätta digsätta -efoo () rm MissingFile.txtecho buck (foo 1[[2> & 1) = ! "Osorterad fil"]]Echo 2$ (eh)Echo 3
rr bash fooett2rm: Kan inte eliminera `MissingFile.txt ': n Från en sådan rätt lista eller katalog
Avdelnings-ID: 6c1fe7a54e92e9c8
IP-adress: 58.232.188.166