2016-05-14 17 views
0

私はPerlを使用して(スクリプト期待している)、TCLを実行している上で使用してperlの、それはスクリプトですべてのコマンドを実行するが、その細かい動作していないです実行TCL(スクリプト期待)窓

system("C:/Tcl/bin/tclsh86 C:/Users/sysadmin/desktop/expect.tcl"); 

ubuntuで。 これをWindows上でperlを使って完全に実行するにはどのコマンドを使用しますか?

+0

WindowsにTCLコンパイラをインストールしましたか? – mkHun

+0

ええ、私は(tclsh86)をインストールしましたが、エラーは表示されませんが、完全なtcl(expect)スクリプトは実行されていません。 – john

+0

すべてのコマンドが実行されていないことをどのように知っていますか?私たちに何かを見せる。 –

答えて

0

Unix Expectでは仮想端末を使用して動作します。対照的に、Windows上のExpectはデバッグサブシステムを使用します。デバッグが不可能であるとマークされたプログラム(つまり、ftp.exeがあるかもしれないが、とりわけtelnet.exeを含むいくつかのシステムプログラム)が自動化されないという欠点があります(Windowsの場合ははありません)。すべて期待する。 OSは、Expectがプロセスに接続するのを拒否します。

これはあなたに起こっていることですか?あなたが与えた最小限の情報からはわかりませんが、これはプラットフォーム間でExpectスクリプトを移植する際の問題の最も一般的な理由です(別のパスやプログラムのような日常的なものを考えればそこにすべてのプラットフォームで)。

TclとPerlの両方が、話すにはtelnetまたはftpを使用しているものに直接話すことができます(両方ともTCP/IPに完全に堪能であるため)。実際には、Expectを使用して達成する可能性のあるものよりも、どちらもネイティブに行うほうが優れています。

関連する問題