2011-11-14 6 views
1

シェルでプロンプトを起動するCLIを使用します。しかし、私は通常、プロンプトで同じコマンドを入力することになります。手動でCLIの起動を自動化し、一度に入力を送信する方法はありますか?シェル内のプロンプトに情報を送信する

ここに例があります:私はspotifyと入力して音楽クライアントを開始します。 私は、次を参照してください。

Type help to see commands. 
> list 
These are your playlists 
1. ... 
2. ... 

(一部の行は省略)「>」は私が入力していますプロンプトです。私のスクリプトでlistと入力してplayを入力し、次にquitと入力して、私のiTunesライブラリを再生するスクリプトを起動します。これをどうやってやることができますか?

+1

これはWindowsベースのアプリケーションの場合、Linux/Unixの場合はタグを追加してください。がんばろう。 – shellter

+0

申し訳ありませんが、指定する必要があります。 UNIXのような。 – secondplanet

答えて

2

Expect私が探していたものです。これはまさにこの目的のためのUNIXテストと自動化ツールです。

0

「マクロ記録」を実装できます。たとえば、「startrec」と入力すると、CLIはすべての後続コマンドを保存することができます。 "list"、 "play"、 "quit"を含む。あなたは "stoprec spotify"とタイプし、コマンドリストを "spotify"というタイトルの下に格納します。次回、あなたが入力した "spotify"は、CLIがマクロリスト内でそれを見つけることができ、コマンドシーケンスを再生します。

+0

'ttyrec'のようなプログラムでこれを行うことができますか? – secondplanet

+0

おそらく、私はttyrecの経験がありません。実際のコンパイル済みのプログラム(C/C++など)を作成する場合、この機能を手作業で追加するのは簡単です。シェルスクリプトについて話しているなら、ttyrecのようなものが役に立つかもしれません。 – kol

+0

私は 'ttyrec'でこれをやってみましたが、それは実際にアクションを実行できるものよりもスクリーンキャストレコーダーの方です。私はC/C++を知らず、そのようなものを実装する方法も知らないでしょう。 – secondplanet