无法使用bash设置环境变量

时间:2014-03-19 17:25:17

标签: linux bash shell debian

这是我正在使用的代码:

DBUSER="testing"
DBNAME="testing"
DBPASS="testing"
export SQLALCHEMY_DATABASE_URI=postgresql://{$DBUSER}:{$DBPASS}@localhost/{$DBNAME}

但是,当我执行“printenv”时,它不会列出此变量。谁能告诉我哪里出错了?

2 个答案:

答案 0 :(得分:0)

环境变量不是全局的,而是每个进程(并由子进程继承)。

脚本退出后,脚本中导出的变量不可用。

相反,您可以将变量添加到/etc/profile,以便每个新登录shell读取和设置它。添加后,您必须退出并再次查看(或source /etc/profile)。

答案 1 :(得分:0)

使用. ./yourScript.namesource yourScript.name

执行您的脚本

实施例

cat t
export name=UNIX
./t
echo $name

. ./t 
echo $name
UNIX