2012-10-02 82 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