2012-10-02 72 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アクセス的環境変数は: - \ $のPATHの\ rを」エコー

exp_sent:あなたは、ターゲットの$ PATH変数を読みたい場合は

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

素晴らしい!グレンに感謝します! –

1

、あなたは "$" をエスケープする必要があります「

8

は、あなたが使用してグローバルのenv配列を使用することができます。

$::env(PATH)  

この概念はまた、内部の手続きを動作します。

+2

これは私のために動作し、$ env()は動作しません。 – killdaclick

関連する問題