выполнение или поиск без влияния на вызывающую оболочку.

ел бы вернуть код завершения из сценария BASH, который вызывается в другом сценарии, но также может вызываться напрямую. Это выглядит примерно так:

#!/bin/bash
dq2-get $1
if [ $? -ne 0 ]; then
  echo "ERROR: ..."
  # EXIT HERE
fi
# extract, do some stuff
# ...

Сейчас в очередиEXIT HERE скрипт должен выйти и вернуть код выхода 1. Проблема в том, что

Я не могу использоватьreturnпотому что когда я забуду написать сценарий вместо его вызова, return будетне выход, и остальная часть сценария будет выполнена и все испортит.Я не могу использоватьexitпотому что это закрывает оболочку.Я не могу использовать хороший трюкkill -SIGINT $$потому что это не позволяет вернуть код выхода.

Есть ли какая-либо жизнеспособная альтернатива, которую я упустил?

Ответы на вопрос(4)

Ваш ответ на вопрос