Last modified: Mar 28 13:58 JST 2004

自作のプログラムとか - シェルスクリプト

断りのない限り Bourne shell スクリプトで、 Un*x 系のOS (主に Solaris 2.6 <SunOS 5.6> 以降、 Linux 全般、 *BSD系PC-UNIX) をターゲットにしています。

ラッパ

Un*x コマンドに対するラッパの類です。

scriptcmd (Mar 28, 2004 / 1716 bytes)

任意のプログラム (コマンド) の、端末 (tty) への出力をファイルに記録するラッパプログラムです。リダイレクトや tee コマンドに比べて、プログラムから見た標準出力や標準エラー出力がファイルやパイプではなく擬似端末デバイスとなっているので、対話型のプログラムの出力も保存でき、非対話型のプログラムの場合も出力のバッファリングが変わらない利点があります。

scriptcmd コマンド自体は、 Un*x 系OSの多くに標準的に含まれているコマンド script(1) コマンドのラッパとして動作します。 script コマンド自体はシェルの対話セッションの記録をとるためのものですが、それに一枚皮を被せて任意のコマンドを直接指定できるようにしています。対話シェルを介しないので非対話的な実行が可能です。

GNU screenを使っても同じことができますが、このスクリプトは screen では大袈裟すぎる状況 (もしくは何らかの理由で screen が利用できないとか) のためのものです。

なお、 FreeBSD 4.x や util-linux 2.12以降の script などは最初から任意のコマンドを指定できる機能をもっているためこのラッパは基本的には不要です (このスクリプトを使うことはできます)。


バグ、問題点など何かありましたら 私 (高井) まで。


KMC のトップページ / 1つ上のディレクトリのインデックス
tak@kmc.gr.jp