17 lines
538 B
Fish
Executable File
17 lines
538 B
Fish
Executable File
# Usage: envsource <env_file>
|
|
|
|
function envsource --description "Source .env file"
|
|
for line in (cat $argv | grep -v '^#')
|
|
set item (string split -m 1 '=' $line)
|
|
if string match -rq 'PATH$' $item[1]
|
|
# Treat vars that end in "PATH" as semi-colon delimited lists.
|
|
set values (string split ';' $item[2])
|
|
set -gx $item[1] $values
|
|
echo "Exported key $item[1] ("(count $values)" values delimited by ';')"
|
|
else
|
|
set -gx $item[1] $item[2]
|
|
echo "Exported key $item[1]"
|
|
end
|
|
end
|
|
end
|