如何在Expect脚本中访问环境变量?

时间:2012-10-02 17:45:46

标签: environment-variables expect

我想访问expect脚本中的PATH环境变量。

我怎样才能做到这一点?

我的实际剧本是:

#!/usr/bin/expect
set timeout 300
send "echo $PATH\r"

及其输出是:

can't read "PATH": no such variable
    while executing
"send "echo $PATH\r""

3 个答案:

答案 0 :(得分:43)

期望是Tcl的延伸。 Tcl通过全局env array访问环境变量:

send_user "$env(PATH)\n"

答案 1 :(得分:11)

您可以使用:

来使用全局env数组
$::env(PATH)    

这个概念也适用于程序。

答案 2 :(得分:2)

如果要读取目标$ PATH变量,则必须转义“$”:

exp_sent - echo“\ $ PATH \ r”