f1() { echo f1 } f2() { echo f2 } v1=one v2=two echo all set: echo ${v1-unset1} echo ${v2-unset2} declare -f -p f1 f2 unset v1 f1 v2 f2 echo all unset: echo ${v1-unset1} echo ${v2-unset2} declare -f -p f1 f2 f1() { echo f1 } f2() { echo f2 } v1=one-one v2=two-one echo all reset: echo ${v1-unset1} echo ${v2-unset2} declare -f -p f1 f2 unset -v v1 f1 v2 f2 echo vars unset: echo ${v1-unset1} echo ${v2-unset2} declare -f -p f1 f2 v1=one-two v2=two-two unset -f v1 f1 v2 f2 echo funcs unset: echo ${v1-unset1} echo ${v2-unset2} declare -f f1 f2