Řešení:
particular_script || true
Příklad:
$ cat /tmp/1.sh
particular_script()
{
false
}
set -e
echo one
particular_script || true
echo two
particular_script
echo three
$ bash /tmp/1.sh
one
two
three
nebudou nikdy vytištěny.
Také chci dodat, že když pipefail
je zapnuto, stačí, aby si shell myslel, že celá roura má nenulový výstupní kód, když jeden z příkazů v rouře má nenulový výstupní kód (s pipefail
off to musí být poslední).
$ set -o pipefail
$ false | true ; echo $?
1
$ set +o pipefail
$ false | true ; echo $?
0
Stačí přidat || true
za příkazem, kde chcete chybu ignorovat.
Nepřestávejte a také uložte stav ukončení
Pro případ, že chcete, aby se váš skript nezastavil, pokud konkrétní příkaz selže a chcete také uložit chybový kód neúspěšného příkazu:
set -e
EXIT_CODE=0
command || EXIT_CODE=$?
echo $EXIT_CODE
Zakázat a znovu povolit randomizaci rozložení adresního prostoru pouze pro mě
jak zjistit číslo přerušení/GPIO pro konkrétní pin v linuxu