Linux / Bash:获取脚本然后将其分配给变量

时间:2013-07-30 21:37:45

标签: python linux bash

我在Python模板语言(特别是Genshi教程)的说明中看到了这一点:

$ PYTHONPATH=. python geddit/controller.py geddit.db

我理解源脚本的含义,但我不明白将源脚本分配给变量的原因,在这里,“PYTHONPATH”。

正在运行. python不起作用,但PYTHONPATH=. python会起作用。 但test=. python也是如此,所以我知道我PYTHONPATH中的内容与它无关。

2 个答案:

答案 0 :(得分:4)

你所看到的并不是你在想什么。 :)该命令不分配源文件甚至源文件。在bash中,你可以这样做:

ENVIRONMENT_VAR=VALUE command

这会将环境变量设置为值,然后使用修改后的环境执行命令。在调用之后,环境var将再次具有旧值。

因此上面的行只是将环境变量PYTHONPATH设置为. - 当前目录 - 并执行命令python geddit/controller.py geddit.db

答案 1 :(得分:2)

Bash允许您仅为一个呼叫分配环境变量。

$ VAR1=one VAR2=two someprogram param1 param2

在运行someprogram之前设置VAR1和VAR2。你的命令

$ PYTHONPATH=. python geddit/controller.py geddit.db

将PYTHONPATH设置为当前目录,以便可以导入当前目录中的.py文件然后运行" python geddit / controller.py geddit.db"