我需要在Ubuntu中设置一些环境变量。我做了以下工作,它是有效的:
export PATH="/home/vagrant/ns-allinone-2.35/bin:/home/vagrant/ns-allinone-2.35/tcl8.5.10/unix:/home/vagrant/ns-allinone-2.35/tk8.5.10/unix:$PATH"
export LD_LIBRARY_PATH="/home/vagrant/ns-allinone-2.35/otcl-1.14:/home/vagrant/ns-allinone-2.35/lib"
export TCL_LIBRARY="/home/vagrant/ns-allinone-2.35/tcl8.5.10/library"但我在脚本envexport.sh中移动并执行相同的内容时,环境变量并未设置。
我哪里错了?如何做到这一点呢?
谢谢。
发布于 2012-02-18 07:02:03
如果只运行脚本,则在脚本结束时环境变量会被销毁。
使用. envexport.sh。这样,命令就可以在当前的shell (环境)中执行。
发布于 2012-02-18 07:17:10
当您在shell中运行命令时,shell会创建一个子进程(子进程)。父进程将丢失在子进程中定义或更改的所有环境变量。
但是,如果使用source命令执行脚本,则会强制该脚本在当前进程中运行。这意味着您运行的脚本中的环境变量不会丢失。
发布于 2012-02-18 07:20:07
如果您希望为所有会话设置这些变量,那么可以通过运行以下命令并将行粘贴到文件中,将相同的命令放入.bashrc文件。
vim ~/.bashrc
和奔跑
源~/.bashrc
在您当前运行的任何终端中。如果您启动任何新的终端,它们会自动将您的目录添加到您的路径中。
https://stackoverflow.com/questions/9336650
复制相似问题