У меня есть вопрос, касающийся функций bash.Я пытаюсь создать функцию с именем "checkexit", которую я могу вызвать в других функциях, чтобы проверить и посмотреть, нужно ли мне выйти из этой функции или нет.Я хотел попробовать использовать функцию, чтобы справиться с этим, потому что я не хочу использовать один и тот же код снова и снова.
С учетом сказанного, это не работает, потому что команда возврата, которую я использую, выходит только из функции, в которой она находится в данный момент, а не из функции, в которую вложена функция "checkexit".
Я знаюЯ мог бы пойти простым путем и просто добавить этот код туда, где мне нужно, но я хотел попытаться найти что-то более элегантное.
Любая помощь будет принята с благодарностью!
Ниже приведен код для функции checkexit:
function checkexit {
if [ -z "$SITEURL" ] || [[ "$SITEURL" != *".whatever.net" ]]; then
#if exitscript set to yes, exit script
if [[ "$exitscript" = "YES" ]]; then
echo "Skipping $SITEURL"
echo
exitscript=""
return
else
echo "No Site URL provided. skipping!"
echo
return
fi
fi
if [[ "$exitscript" = "YES" ]] && [[ "$nodownload" = "YES" ]]; then
echo "Failed to download file, skipping items."
echo
exitscript=""
return
elif [[ "$exitscript" = "YES" ]] && [[ "$noitems" = "YES" ]]; then
echo "No items to download, skipping items."
echo
exitscript=""
return
elif [[ "$exitscript" = "YES" ]]; then
echo "Exit script triggered. Skipping $SITEURL"
echo
exitscript=""
return
fi
}