5. Далее идут две очень короткие функции,
insert_titleinsert_trackЗа ними следует более длинная функция
add_record_trackinsert_title() { echo $* >> $title_file return}insert_track() { echo $* >> $tracks_file return}add_record_tracks() { echo "Enter track information for this CD" echo "When no more tracks enter q" cdtrack=1 cdttitle="" while [ "$cdttitle" != "q" ] do echo -e "Track $cdtrack, track title? \c" read tmp cdttitle=${tmp%%, *} if [ "$tmp" != "$cdttitle" ]; then echo "Sorry, no commas allowed" continue fi if [ -n "$cdttitle" ] ; then if [ "$cdttitle" ! = "q" ]; then insert_track $cdcatnum, $cdtrack, $cdttitle fi else cdtrack=$((cdtrack-1)) fi cdtrack=$((cdtrack+1)) done}6. Функция
add_recordsadd_records() { # Подсказка для начала ввода информации echo -е "Enter catalog name \с" read tmp cdcatnum=${tmp%%, *} echo -e "Enter title \c" read tmp cdtitle=${tmp%%, *} echo -e "Enter type \c" read tmp cdtype=${tmp%%, *} echo -e "Enter artist/composer \c" read tmp cdac=${tmp%%, *} # Проверяет, хочет ли пользователь ввести информацию echo About to add new entry echo "$cdcatnum $cdtitle $cdtype $cdac" # Если получено подтверждение, добавляет данные в конец файла. # с заголовками if get_confirm ; then insert_title $cdcatnum, $cdtitle, $cdtype, $cdac add_record_tracks else remove_records fi return}7. Функция
find_cdgrepУ команды счетчика слов,
wc$(wc -l $temp_file)linesfoundsetИзменив значение переменной
IFScutfind_сd() { if [ "$1" = "n" ]; then asklist=n else asklist=y fi cdcatnum="" echo -e "Enter a string to search for in the CD titles \c" read searchstr if [ "$searchstr" = "" ]; then return 0 fi grep "$searchstr" $title_file > $temp_file set $(wc -l $temp_file) linesfound=$1 case "$linesfound" in 0) echo "Sorry, nothing found" get_return