如何从脚本中存储并执行命令“export PATH = $ PREFIX / bin”?

时间:2014-09-06 18:08:28

标签: bash shell export

我想编写一个包含多种类型命令的脚本

> export PATH=$PREFIX/bin

哪里

> $PREFIX = /home/usr 

或其他。我没有将它键入Shell(/ bin / bash),而是运行脚本来执行命令。

用sh尝试,然后使用带有该行的.py脚本

> commands.getstatusoutput('export PATH=$PREFIX/bin')

但这些导致错误“坏变量名称”。 会感谢一些想法!

2 个答案:

答案 0 :(得分:2)

如果您需要在运行.profile及其等效项后通过脚本调整PATH(或任何其他环境变量),则需要点''或者'来源'包含脚本的文件:

. file_setting_path
source file_setting_path

.表示法适用于所有Bourne shell派生词,并由POSIX标准化。 {3}}表示法在C shell中使用,并且完全不必要地感染了Bash。

请注意,文件(source)可以指定为路径名,或者如果它位于file_setting_path上列出的目录中,则会找到该文件。它只需要是可读的;它不必是可执行的。

dot命令的工作方式是它将命名文件作为当前shell环境的一部分读取,而不是在子shell中执行它,就像执行普通脚本一样。通常,子shell会愉快地设置其环境,但这不会影响调用脚本。

答案 1 :(得分:1)

错误的变量名称可能仅仅是$PREFIX未定义的投诉。

通常PATH的设置看起来像

export PATH=$PATH:/new/path/to/programs

这样您就可以保留旧的PATH,但最后添加一些内容。

最好将这些内容放在.bashrc中,以便每次登录时都可以运行。