0

こんにちは、a.expという名前のexpectスクリプトに従っています

#!/usr/bin/expect
spawn cat a.txt

ここで、a.txt には次の 1 行の文字列テキストが含まれます

こんにちは世界

次に、次のコマンドを使用して実行可能にしました

chmod +x a.exp

今、私は次のように実行します

./a.exp

私が得る出力は次のとおりです

spawn cat a.txt

一方、次のスクリプトを使用すると

puts [exec cat a.txt]

それ以外の

spawn cat a.txt

a.txt ファイルの内容を出力します。spawn を使用して実行するのを手伝ってもらえますか? ありがとう!

4

1 に答える 1

4

生成されたプログラムから何かを読み取るように指示していません。このバージョンを使用a.expすると、正しい出力と思われるものが得られます。

#!/usr/bin/expect
spawn cat a.txt
expect "\n";        # Wait for a newline

何も返さずに、他のプログラムが書き出すものをすべて取り込みたいだけの場合は、代わりにこの最後の行を使用して、ファイルの終わりを待ちます。

expect eof

テストすると、どちらも正確にこの出力を生成します。

スポーンキャット a.txt
こんにちは世界
于 2011-05-26T20:05:57.480 に答える