Local
foo(){
if [ -z "${1}" ]; then
echo "hi: ${hi}"
echo "hi_without_local: ${hi_without_local}"
else
local hi="${1}"
hi_without_local="${1}"
echo "Saved values."
fi
}
main() {
foo "hello"
foo
}
main "${@}" || exit 1
Output:
Saved values.
hi:
hi_without_local: hello