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 に答える