web-dev-qa-db-fra.com

Comment accéder aux variables d'environnement dans un script Expect?

Je voudrais accéder à la variable d'environnement PATH dans un script expect.

Comment puis-je y parvenir?

Mon script réel est:

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

et sa sortie est:

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

Attend est une extension de Tcl . Tcl accède aux variables d'environnement via le global env array :

send_user "$env(PATH)\n"
48
glenn jackman

Vous pouvez utiliser le tableau env global en utilisant:

$::env(PATH)    

Cette notion fonctionnera également à l'intérieur des procédures.

11
Timmah

Si vous souhaitez lire la variable $ PATH cible, vous devez échapper le "$":

exp_sent - echo "\ $ PATH\r"

2
akiuni