выполнение или поиск без влияния на вызывающую оболочку.
ел бы вернуть код завершения из сценария 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 $$
потому что это не позволяет вернуть код выхода.Есть ли какая-либо жизнеспособная альтернатива, которую я упустил?