add, upd, all, se は部品として作られており、 単独で走らせることができます。 初心者にとってはメニューの方がなじみやすいでしょうから、 メニュー画面で数字で指定することにより5つの作業ができるようにしてみました。
listingsitem #!/bin/sh
#
: ${CABINET=Book}
export CABINET
OUTPUT=more
OUT=Display
RACK=items
trap 'continue' 2
if test $# -ne 0; then
if test -d $1; then
CABINET=$1
else
exit
fi
fi
while true ;do
echo; echo; echo -n "
$CABINET Cabinet .. `wc -l < ${CABINET}.items` item(s)
==================================================
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: $OUT)
5) Quit
==================================================
SELECT (1-5): "
read command
echo
case "$command" in
1 | s) echo -n '[SEARCH] Enter Keyword: '
read line
if test ! -z "$line"; then
se "$line" | "$OUTPUT"
if test "$OUT" = Display; then
echo '>>> Hit ENTER to continue <<<'
read line
fi
fi;;
2 | a) echo -n '[ADD] Enter filename: '
read line
if test -z "$line"; then
add
else
add "$line"
fi;;
3 | l) echo '[ALL]'
all | $OUTPUT;;
4 | c) if test "$OUT" = Display; then
OUTPUT=lpr; OUT=Printer
else
OUTPUT=more; OUT=Display
fi;;
5 | q) exit;;
*) echo "??? ¥'$command¥'";;
esac
done