运行调用另一个脚本获取EOF错误的bash脚本时

时间:2014-08-18 10:24:14

标签: bash scripting

另一个脚本只是读取语句,它将回显到此脚本的文件

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



Default_Dir=/export/home/cwatts/test

Default_Log=DB.Audit

while [ -z "${fname}" ]

do

echo "Please, enter your Fullname [ENTER]:"

read fname

done

尝试了从其他脚本中提取信息的各种方法     dbname =" ./ createDB.scr | awk' {print $ 1}'"

sh $dbname

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 -u` '|' $dbname '|'  $fname '|'  $desc >> $Default_Dir/$Default_Log

exit

1 个答案:

答案 0 :(得分:0)

你忘记了另一句话:

echo "Please,enter a brief Description [ENTER]:

应该是

echo "Please,enter a brief Description [ENTER]:"

我也推荐这种形式:

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

DEFAULT_DIR='/export/home/cwatts/test'
DEFAULT_LOG='DB.Audit'

until read -p "Please, enter your Fullname [ENTER]: " FNAME && [[ -n $FNAME ]]; do
    :
done

until read -p "Please,enter a brief Description [ENTER]: " DESC && [[ -n $DESC ]]; do
    :
done

if [[ -d $DEFAULT_DIR ]]; then
    echo "Directory does not exist. It will be created."
    mkdir "$DEFAULT_DIR"
fi

echo "$(exec date -u) | $DBNAME | $FNAME | $DESC" >> "$DEFAULT_DIR/$DEFAULT_LOG"

注意:$DBNAME未设置。