Am 09.11.2012 17:21, schrieb Greg Wooledge: > On Fri, Nov 09, 2012 at 11:18:24AM -0500, Greg Wooledge wrote: >> restore_environment() { >> set -o posix >> eval "$saved_output_of_export_dash_p" >> set +o posix >> } > Err, what I meant was: > > save_environment() { > set -o posix > saved_env=$(export -p) > set +o posix > } > > restore_environment() { > eval "$saved_env" > } > or I guess you could also do something like
save_environment() { saved_env=$(export -p) } restore_environment() { echo "${saved_env//declare -x /declare -g -x }" } or save_environment() { saved_env=$(set -o posix; export -p) }