How to access environment variables in an Expect script?

Xavier V. picture Xavier V. · Oct 2, 2012 · Viewed 27.1k times · Source

I would like to access the PATH environment variable inside an expect script.

How can I achieve that ?

My actual script is :

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

and its ouput is :

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

Answer

glenn jackman picture glenn jackman · Oct 3, 2012

Expect is an extension of Tcl. Tcl access enviroment variables via the global env array:

send_user "$env(PATH)\n"