Рассмотрим foo.sh:
#!/bin/bash
function foo() {
source another.sh
echo "This shouldn't be executed. Return code: $?"
return 0
}
foo
echo "Return code: $?"
Тогда еще один .sh:
echo "Inside another.sh"
return 1
Работает ./foo.sh
печатает:
Inside another.sh
This shouldn't be executed. Return code: 1
Return code: 0
Есть ли альтернативаспособ включить исходный файл в другой, чтобы команда return
возвращалась из функции, содержащей команду include, а не из самой команды?