0

これを行う方法はよくわかりませんが、Ingres コマンドである createdb から入力を取得し、それをラッパー スクリプトの変数に渡し、ログ ファイルに書き込む必要があります。

#!/usr/bin/bash
#  createdb_wrapper.scr
#  Log information about user of createdb.scr


#Install=`echo $II_SYSTEM`
#Default_Dir=$Install/ingres/DBA
#Database=`echo ingprenv II_DATABASE`
Default_Dir=/export/home/cwatts/test
Default_Log=DB.Audit

while [ -z "${fname}" ]
do
    echo "Please, enter your Fullname [ENTER]:"
    read fname
done

dbname=`bash createDB.scr | awk '{printf $1}'`

while [ -z "${desc}" ]
do
    echo "Please,enter a brief Description [ENTER]:"
    read desc
done


#Checks the directory exists, and creates if not
if [ ! -d $Default_Dir ] ;then
    echo "directory doesn't exit, it will be created"
    mkdir $Default_Dir
fi

echo `date` '|' $dbname '|'  $fname '|'  $desc >> $Default_Dir/$Default_Log
exit
4

2 に答える 2

0

createdb正常なプログラムとして動作するアプリケーションです。何か問題が発生すると、0 以外の値で終了します。そのため$?、以前に実行されたコマンドの終了ステータスを含む BASH 変数を調べて、それが 0 に等しいかどうかをテストします。 (すべて正常) またはそうでない (何かがうまくいかなかった)。

于 2014-08-23T15:00:59.813 に答える