这是参考我收到的回复,说我需要获取此脚本以激活virtualenv。
不知道这意味着什么,初学者在这里试图找出virtualenv。
答案 0 :(得分:12)
获取脚本是在当前shell的上下文中运行它,而不是在新shell中运行它。
例如:
. myscript.sh
或:
source myscript.sh
(取决于您正在运行的shell)。
如果您在自己的shell中运行脚本,则它对环境所做的任何更改都在那个 shell中,而不是您从中调用的那个。通过采购它,您可以影响当前shell的环境。
例如,检查以下记录:
pax> cat script.sh
export xyzzy=plugh
echo $xyzzy
pax> export xyzzy=twisty
pax> echo $xyzzy ; script.sh ; echo $xyzzy
twisty
plugh
twisty
pax> echo $xyzzy ; . script.sh ; echo $xyzzy
twisty
plugh
plugh
当你运行脚本(不同的shell)时,它会将xyzzy
设置为plugh
,但是当shell退出到原始shell时会丢失。您会发现原始值已经“恢复”(在引号中,因为原始值从未实际更改,只有它的副本)。
当你 source 它时,就像你在当前shell中键入命令一样,这样对变量的影响是持久的。