For at deaktivere set -e
(også kendt som "errexit") for en individuel kommando i et Bash script, kan du benytte en af følgende metoder:
Du kan placere den individuelle kommando i en subshell. Dette gøres ved at omslutte kommandoen med parenteser ()
. Dette vil sikre, at set -e
ikke påvirker kommandoen inden for subshellen.
(kommando)
Du kan tilføje en logisk OR ||
efter kommandoen, efterfulgt af true
. Dette vil forhindre set -e
i at afslutte scriptet, hvis kommandoen fejler.
kommando || true
set -e
:
Du kan midlertidigt deaktivere set -e
ved at bruge set +e
før kommandoen og derefter genaktivere det med set -e
efter kommandoen.
set +e
kommando
set -e
Funktionaliteten af set -e
og hvordan man deaktiverer det for individuelle kommandoer er dokumenteret i Bash Reference Manual under afsnittet "The Set Builtin". Du kan finde den relevante dokumentation ved at besøge følgende link:
Bash Reference Manual - The Set Builtin
Her er et uddrag fra manualen, der beskriver set -e
:
"When this option is on, if a simple command fails for any of the reasons listed in Simple Command Expansion, and is not part of the compound list following a
while
oruntil
keyword, part of anif
statement, part of a&&
or||
list, or if the command's return status is being inverted with!
, then the shell shall immediately exit."
Har du brug for hjælp til Bash scripts eller kommandolinjeopgaver? Med Handyhand kan du nemt oprette din opgave gratis og få bud fra dygtige hjælpere på få minutter. Uanset om du står over for en kompleks opgave eller blot har brug for vejledning, er Handyhand her for at gøre det lettere for dig.