メニュー処理用のスクリプト cab を走らせると Cabinet の操作メニューが表示されます。
$ cabとタイプして起動した場合は親シェル(ほとんどの場合はログインシェルでしょう) からコピーされてきた変数 CABINET の内容で指定されたものを操作の対象と します。もし、この時に親シェルが CABINET という変数を export していな かったり、export していても中身が空の場合は Book を操作対象として立ち 上がります。このメニュー画面で操作できる対象は
1. 親シェルが export した変数 CABINET で指定されたものの順となります。 メニュースクリプト cab が起動されると次のような画面が表れます。
2. Book
Cabinet = Book 68 items ================================================== Would you like to: 1) Search data in the Cabinet 2) Add data to the Cabinet 3) List all of the Cabinet 4) Change output (current: Display) 5) Quit ================================================== SELECT (1-5):
一番上に表示されている "Book 68 items" とは現在開かれている (シェル変数 CABINET で指定されている)キャビネットの名称とその中にある データ件数です。この Book を対象に検索、追加、表示の操作を行います。
現在開かれているキャビネットから指定されたキーワードを含む項目を表示します。 "1" を選びリターンキーを押すと[SEARCH] Enter Keyword:と探すためのキーワードを聞いてきます目的のものを指定してください。 指定するキーワードには一般の語句はもちろん、正規表現を用いることもできます。 例えば "IBM PC" というタイトルのついた文献を探したければ
[SEARCH] Enter Keyword: IBM PCとタイプし(下線部分)リターンキーを打ちます。 しばらくすると見つかった項目数とそれらの内容が表示されます。 もし、表示する内容が1画面に納まらない場合は more がポーズをかけますので、 スペースで1画面、リターンで1行先に進みます。
現在開かれているキャビネットに新しいデータを追加します。 追加は事前にテキストエディタなどで作っておいたファイルの内容を追加する方法と 1項目だけ手作業で入力する方法があります。どちらの場合も "2" を選択します。[ADD] Enter filename:追加するデータを収めたファイル名を尋ねられますので該当するファイル名を指定して ください。ファイル名はパスを含むこともできますし、スペースで区切って複数の ファイルを指定することもできます。 もし、指定したファイルが存在しない場合はエラーとなりデータの追加は行われません。 この時に追加するデータの内容についてはまったく検査されませんので、間違った指定 をすると文献データにビデオやCDのデータ、最悪の場合にはプログラムソースなどを 追加してしまうこともあります。また、同じ文献のデータでもフィールドの列びが既存 のデータと一致していないとトンチンカンなものになってしまいます。 1つの物件のレコード構造についてはすべて使う人間の責任に任されています。
ここで使用している文献データのレコード構造は 「7.2 データ形式」 (p.) で説明したものです。例えば
[ADD] Enter filename: b00 ../b002と指定するとカレントディレクトリにある b001 というファイルと ../b002 という ファイルの内容が文献データに追加されます。
もし、ここでファイル名を入力せずにリターンキーのみを押すと手作業で1件だけ データを追加できます。入力内容は既存の検索用ファイルのレコード構造と一致さ せてください。手作業の入力は概ねつぎのようになります。
[ADD] Enter filename: <- リターンのみ Type in NEW data Auther -> Andrew S.Tanenbaum Title -> OPERATING SYSTEM DESIGN AND IMPLEMENTATION Publisher -> Prentice-Hall Year -> 1988 ISBN -> 0-13-637331-3著者、タイトル、出版社、年、ISBN の4項目の入力が完了すると、 入力されたデータを表示し、確認を求めてきます。
---------------------------- Auther: Andrew S.Tanenbaum Title: OPERATING SYSTEM DESIGN AND IMPLEMENTATION Publisher: Prentice-Hall Year: 1988 ISBN: 0-13-637331-3 ---------------------------- Ok? (y/n)ここで入力データに間違いがなければ "y" で答えてください。 "y" の入力でデータが追加され、それ以外のキーならば入力されたデータが捨てら れます。
現在開かれているキャビネットに収められているすべてのデータを表示します。 ここでは "3" を選択するだけです。画面に表示するときは more が1画面ごとに ポーズを入れてきます。「4) Change output」で出力をプリンタ(lpr) に切り換え ているならばプリンタに連続出力されます。
検索されたデータと全項目を表示するときの出力先を切り換えます。 "4" を選択するたびにディスプレイとプリンタをスイッチし、現在の出力先は4) Change output(current: Display)として表示されています。
メニューを終了し、シェルのコマンドラインに戻ります。