_LETTERS_ONLY=`echo $1 | awk '{if ($0~/[^a‑zA‑Z]/) print "1")'`

if [ "$_LETTERS_ONLY" != "" ]

then

# ошибки

return 1

else

# содержит только символы

return 0

fi

}

check_duplicate() {

#check_duplicate

#проверка дублирования номера служащего

#для вызова: check_duplicate строка _CODE=$1

MATCH=`grep "$_CODE\>" $DBFILE`

echo $_CODE

if [ "$MATCH"="" ]; then

return 0 # нет дубликата

else

return 1 # дубликат обнаружен

fi

}

add_rec()

{

# add_rec

# == STAFF NUMBER

while :

do

echo -n "Employee Staff Number :"

read NUM

if [ "$NUM" != "" ]; then

if a_number $NUM; then

NUM_PASS=0

else

NUM_PASS=1

fi

if length_check $NUM 10; then

LEN_PASS=0

else

LEN_PASS=1

fi

# проверка наличия дубликатов… if check_duplicate $NUM; then

DUPLICATED=0

else

DUPLICATE=1

echo "Staff Number: There ls already a employee with this number" continue_prompt

fi

if [ "$LEN_PASS"="0" -a "$NUM_PASS"="0" -a "$DUPLICATE"="0" ] then

break

else

echo "Staff Number: Non‑Numeric or Too Many Numbers In Field" continue_prompt

fi

else

echo "Staff Number: No Input Detected, This Field Requires a Number" continue_prompt fi done

# == Имя

while :

do

echo -n "Employee's First Name:"

read F_NAME

if [ "$F_NAME" != "" ]; then

if characters $F_NAME; then

F_NAME_PASS=0

else

F_NAME_PASS=1

fi

if length_check $F_NAME 20; then

LEN_PASS=0

else

LEN_PASS=1

fi

# oбa условия должны быть истинными для выхода из этого цикла if [ "$LEN_PASS"="0" -a "$F_NAME_PASS"="0" ]; then

break

else

echo "Staff First Name: Non‑Character or Too Many Characters In Field" continue_prompt

fi

else

echo "Staff First Name: No Input Detected, This Field Requires Characters"

continue_prompt

fi

done

# == Фамилия

while :

do

echo -n "Employee's Surname :"

read S_NAME

if [ "$S_NAME" != "" ]; then if characters $S_NAME; then

$_NAME_PASS=0

else

$_NAME_PASS=1

fi

if length_check $S_NAME 20; then

LEN_PASS=0

else

LEN_PASS=1

fi

if [ "$LEN_PASS"="0" -a "$S_NAME_PASS"= "0" ]; then

break else

echo "Staff Surname: Non‑Character or Too Many Characters In Field" continue_prompt fi else

echo "Staff Surname: No Input Detected, This Field Requires Characters" continue_prompt fi done

# == Отдел

while :

do

echo -n "Company Department :" read DEPART case $DEPART in

ACCOUNTS|Accounts|accounts) break;;

SALES|Sales|sales) break;; IT|It|it) break;;

CLAIMS|Claims|claims) break;;

Services|SERVICES|services) break;;

*) echo "Department: Accounts, Sales, IT, Claims, Services";; esac done )

# основная программа

clear

echo -e "\t\t\tADD A EMPLOYEE RECORD"

if [ -s $DBFILE ]; then :

else

echo "Information: Creating new file to add employee records"

>$DBFILE fi

Перейти на страницу:

Похожие книги