2012-10-02 83 views
23

我想访问expect脚本中的PATH环境变量。如何访问Expect脚本中的环境变量?

我怎样才能做到这一点?

我实际的脚本是:

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

其输出继电器是:

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

回答

30

期待是Tcl的延伸。通过全局env array TCL接入环境变量:

send_user "$env(PATH)\n" 
+0

太棒了!非常感谢glenn! –

1

如果你想读的目标$ PATH变量,则必须难逃 “$”:

exp_sent - 回声“\ $ PATH \ r “

8

您可以通过使用全局ENV数组:

$::env(PATH)  

这个概念也将工作的内部程序。

+2

这一个适用于我和$ env()没有。 – killdaclick