Pierre Gaston wrote: > Since you are already using global variables, why not simply use a > couple more for the return values? > --- Because a subshell cannot access the global variables of the parent.
The only 'hack' I came up with overnight for a quick & dirty, is to pass back a "blob" along with the 3 return values the function normally returns, which the parent will 'eval' in the parent context (contain 'export XXX=value' or 'alias xxx=/path' statements. The purpose of this was to pre-verify the needed external utilities the script would be using -- their paths and their existence so the script would be less likely to fail non-deterministically later on.