Ответ 1
Ожидание - это расширение Tcl. Переменные окружения Tcl через глобальный массив env
:
send_user "$env(PATH)\n"
Я хотел бы получить доступ к переменной среды PATH внутри ожидаемого script.
Как я могу это достичь?
Мой фактический script:
#!/usr/bin/expect
set timeout 300
send "echo $PATH\r"
и его выход:
can't read "PATH": no such variable
while executing
"send "echo $PATH\r""
Ожидание - это расширение Tcl. Переменные окружения Tcl через глобальный массив env
:
send_user "$env(PATH)\n"
Вы можете использовать глобальный массив env, используя:
$::env(PATH)
Это понятие также будет работать внутри процедур.
Если вы хотите прочитать целевую переменную $PATH, то вам нужно избежать "$":
exp_sent - echo "\ $PATH\r"