要激活 TurboGears virtualenv(仅作为示例),请执行以下操作:
. bin/activate
或这个:
source bin/activate
为什么当前目录是“.” 作为命令工作?
为什么使用“来源”或“。” 有吗?为什么不简单地“bin/activate”?
(我对此进行了一些网络搜索,但“。”和“来源”得到了很多不好的点击。)
.
在这种情况下,并不意味着“当前目录”。它只是source
.获取脚本(使用.
or source
)在当前shell 的上下文中运行脚本,而不是启动子 shell。这意味着它可以对您当前的 shell 环境进行修改。简单地运行一个脚本不能做到这一点。例子:
$ cat script
VARIABLE=something
$ echo $VARIABLE
$ ./script
$ echo $VARIABLE
$ . ./script
$ echo $VARIABLE
something
您可能使用“。”的另一个原因。或“源”来执行脚本是如果有问题的脚本不以“#!/bin/bash”(shebang)开头,它告诉 shell 哪个程序应该解释有问题的脚本。