2012-02-27 156 views
1

鑑於其接受命令行輸入如下命令行界面與過程控制

$ ./app 
> init 
initialized. 
> start 
started. 
> stop 
stopped. 

是否有可能寫一個外殼腳本或觸發./app另一個C程序,並依次注入指令的處理?假設要寫入的腳本將注入字符串「init」,並等待回覆字符串「初始化」,然後注入「start」,並等待回覆「started。」,等等。

回答

1

Unix expect工具已完全針對此場景創建。您提供了一個腳本,用於聲明預期的字符串(如initialized),並在該字符串之後聲明適當的操作。當然也有某種「開始」的東西。

查看http://en.wikipedia.org/wiki/Expect舉例。

+0

啊!感謝提醒我關於「期望」!我記得有一種方法可以這樣做,但不記得它是如何完成的。 – twfx 2012-02-27 09:56:22