ttyrep - TTY Executable Replay - 0.0.1

ttyrec/ttyplay*1に影響を受けて似たような(しかし、まったく違う)プログラムを書いた。試しに作ってみたら『"運よく"動いた』という状態なので、安定性は一切保証しないが…。

【追記】専用ページ作ってみた。ダウンロードも説明もこちらが良いと思う。これだけちゃんとページ作っておいて、下記ページ最後の結論が…( ´Д⊂
http://members.jcom.home.ne.jp/j-klein/software/ttyrep/


□ ttyrepとはなにをするのか?

ttyrepはある一連のアクションを記録して、短いコマンドで再実行できるコマンドだ。


□ どうやって使うのか?

コンパイルはmake一発なので問題ないはず。実行は./ttyrepでOKで、オプションは一切無し。実行後に使用できる三つのコマンドがあるので、まずはそれを覚える(コマンド内の"n"には1-9の数字が入る)。

++n
アクションの記録を開始する。アクションはn番バッファに保存される。
--/
アクションの記録を終了する。記録中でなければコマンドとして解釈されない。
**n
n番バッファに保存されたアクションを実行する。バッファがないときはempty commandと表示される。

どれも、コマンドと解釈されたときには3文字目の入力でコマンドの3文字が消去される。試してみれば分かるが、消去されないとかなりうざいのだ。


□ 試してみる。

以下の手順を試すと良い。

  1. [./ttyrep]として起動する
  2. [++1]とタイプして記録開始
  3. [echo "I am in the ttyrep"; sleep 1;]と実行
  4. [--/]とタイプして記録終了
  5. [**1]で1番バッファを実行する。すると、"I am in the ttyrep"と表示され、1秒スリープする。

**1を入力するたびに上記のメッセージが表示され、スリープする。ちなみに、Emacsや"cat > file"でファイルの編集をしてもうまく実行できない。ここがttyrepの"使えない"最大の問題。


□ どんなときに役に立つか?

不明!。しかし、ちょっとだけ役に立ったことがある。それはこのttyrepをサイトにアップするときだ。このアーカイブをアップするために私は以下の一連の行動を行なったが、それを試しにttyrepで保存していた。そして、すべて終了したときに、アーカイブの中に余計なファイルが入っていることに気付いた。そのファイルを削除してから記録した一連のアクションを実行したところ、見事に成功したのだ。

  1. ttyrepディレクトリで[make clean]の実行
  2. 1つ下のディレクトリへ移動[cd ..]
  3. ディレクトリを圧縮[tar -zcvf ttyrec-0.0.1.tar.gz ttyrec/]
  4. アップ用ディレクトリにコピー[cp ttyrec-0.0.1.tar.gz ~/hogehoge/]
  5. アップ用ディレクトリに移動[cd ~/hogehoge/]
  6. FTP用コマンドの実行[autoftp]


□ 注意

当然ながらコマンド文字列を入力するとttyrepが反応するので、ttyrep使用中は[++n][--/][**n]は入力できない。

大事なファイルに対して実験しないように。自己責任でお願いします。

専用ページ作った>http://members.jcom.home.ne.jp/j-klein/software/ttyrep/

*1:高林哲氏の作った端末上のやりとりを録画するソフトウェア。参考:http://namazu.org/~satoru/ttyrec