/bin/sh source from stdin (from other program) not file
On systems where /dev/fd
is available, bash supports process substitution:
source <(./settings)
Here, <( )
will expand to an automatically assigned path under /dev/fd/...
from which the output of ./settings
can be read.
You can use eval
:
eval "$(./settings)"
eval "`./settings`"
declare `./settings`
Or of course...
export `./settings`
Test it of course...
export `echo -e "asdf=test\nqwerty=dvorak"` ; echo $asdf $qwerty
Handling whitespace:
eval export `./settings`