My current setup starts with a function that is ostensibly in .bashrc
(.bash_it/custom/funcs.bash
to be precise)
#!/usr/bin/env bash
function proset() {
. proset-core "$@";
}
proset-core
does some decrypting of secrets and exports those secrets to the session, hence the need for the .
instead of just running it as a script/subshell.
If something goes wrong in proset-core
, I use return
instead of exit
since I don't want the SSH connection to be dropped.
if [ "${APP_JSON}" = "null" ] ; then
echo -e "\n${redtext}App named $NAME not found in ${APPCONF}. Aborting.${resettext}\n";
return;
fi
This makes sense in the context of the exported proset
function, but precludes usage as a script since return
isn't valid except from within a function.
Is there a way to detect how it's being called and return one or the other as appropriate?