0

我想在 tcl 文件中运行命令。根据Unix示例,我写道:

....
exec export LD_LIBRARY_PATH=/opt/gcc-4.1.2-built/lib64
puts $gofile "#!/bin/bash
....

但是我收到此错误:

couldn't execute "export": no such file or directory
while executing
"exec export LD_LIBRARY_PATH=/opt/gcc-4.1.2-built/lib64"

如果我删除该 exec 行,则没有错误。

4

1 回答 1

3

要设置环境变量,您不要使用exec,而只需写入全局env关联数组的适当元素(::即“这是一个全局变量”,如果您正在编写顶级脚本,则可以省略):

set ::env(LD_LIBRARY_PATH) "/opt/gcc-4.1.2-built/lib64"

然后你就exec可以正确地继承该值:

puts $gofile "#!/bin/bash
...."

(我有点惊讶你正在传递这样的多行脚本,但如果它对你有用,那很酷。不过,我发现如果我这样做,通常最好将事情分成多个文件。它减少了令人头疼和混乱的数量,因为您最终不会遇到比最低级别更多的引用。)

于 2013-02-24T13:03:01.010 回答