我有一个tmp.txt
包含要导出的变量的文件,例如:
a=123
b="hello world"
c="one more variable"
Run Code Online (Sandbox Code Playgroud)
如何使用export
命令导出所有这些变量,以便子进程以后可以使用它们?
我希望我的脚本读取包含要设置的环境变量的键/值对的文件,然后设置它们。
到目前为止,我有这个:
#!/bin/bash
cat $1 | while read kv
do
key=${kv%=*}
val=`echo ${kv#*=} | sed 's/^"\|"$//g'`
export $key="$val"
done
Run Code Online (Sandbox Code Playgroud)
我想读取这样的文件:
XAUTHLOCALHOSTNAME="localhost"
DISPLAY=":0"
XAUTHORITY="/tmp/some-XAuthority"
Run Code Online (Sandbox Code Playgroud)
我只需要在脚本的持续时间内作用域中的这些变量,所以我不需要解决在脚本中为父作用域设置变量的问题。
从我的测试来看,我认为我的问题在于export $key="$val"
,所以我认为我只需要替换该行。