1

シェルスクリプトで次のことを試みます。

bash;

bash コンテキストで:

  • 走る./a.out

そして./a.outコンテキストでは、キーストロークをシミュレートする必要があります:

yes
3292
no

どうすればいいですか?&以降、すべての試行が失敗し、bash ではなくメイン シェル コンテキストで後続のコマンドを実行します&&;

bash && echo "yes" > /dev/console

シェルスクリプトで期待される使用を見てきましたが、ネイティブシェルコマンドを使用する代替手段はありませんか? 他のツールに依存したくない。

4

1 に答える 1

2

ユーザーが提供するスクリプトの助けを借りて対話型プログラムと「対話」するexpectを調べてください。

使用法

expect ./interact

またはinteract実行可能にする(chmod a+x interact):

./interact

interact次のスクリプトはどこにありますか。

#!/usr/bin/expect
spawn ./a.out
send -- "yes\r"
expect "3292\r"
send -- "no\r"

これは単純な例にすぎません。man ページには詳しい説明が記載されており、インストールに付属するサンプル スクリプトもあります。

参考文献

于 2013-06-07T09:35:24.117 に答える