It seems like you could get much the same effect with this device:

----------------------------------------------------------------------
t1 contains:

# Where I am doing this testing.
BASH_IMPORT_PATH=$HOME/temp/import/t2

echo "Note PATH does not contain '.'"
echo "PATH=$PATH"
echo "BASH_IMPORT_PATH=$BASH_IMPORT_PATH"

function import () {
    local PATH="$BASH_IMPORT_PATH"
    source "$1"
}

import t2

echo "T2_VARIABLE=$T2_VARIABLE"
----------------------------------------------------------------------
t2 contains:

echo "Executing t2"

T2_VARIABLE=t2_value
----------------------------------------------------------------------
Test execution:

$ bash ./t1
Note PATH does not contain '.'
PATH=/home/worley/bin/x86_64:/home/worley/bin:/usr/local/bin:/usr/bin:/bin:/usr/ucb:/etc:/usr/etc:/usr/X11R6/bin:/usr/hosts:/usr/games:/usr/lib64/qt-3.3/bin:/usr/lib64/ccache:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin
BASH_IMPORT_PATH=/home/worley/temp/import/t2
Executing t2
T2_VARIABLE=t2_value
$
----------------------------------------------------------------------

Dale

Reply via email to