2014-10-30 3 views
0

Я работаю над приложением для записи в библиотеке (для школы).Добавить вход в существующий файл с Bash

Мне нужно собрать пользовательский ввод и записать в существующий файл (добавить новую запись). Однако, когда я пытаюсь сделать это, я получаю следующее сообщение об ошибке:

./minilib.sh: line 12: : No such file or directory 

Вот моя функция для добавления новых записей

records = "/lib_records.txt" 

add_book(){ 
    echo 
    echo "Enter Book Name:" 
    read name 
    echo "Enter Book Author:" 
    read author_name 
    echo "$name $author_name" >> "$records" #this is my line 12 
} 

Любая идея, что может быть причиной ошибки? Любая помощь приветствуется. Вот файловые разрешения:

-rwxrwxrwx. 1 GSUAD\ GSUAD\domain^users 0 Oct 30 18:04 lib_records.txt 
-rwxrwxrwx. 1 GSUAD\ GSUAD\domain^users 1253 Oct 30 18:40 minilib.sh 
+2

Вы пытаетесь добавить файл в корневую файловую систему ('/'). Очень маловероятно, что у вас есть разрешение на это –

ответ

2

Вот 2 вопроса для вашего скрипта:

  1. records="./lib_records.txt": не должно иметь место до и после =
  2. "./lib_records.txt" вместо "/lib_records.txt"

Здесь модифицируется сценарий для вас.

records="./lib_records.txt" 

add_book(){ 
    echo 
    echo "Enter Book Name:" 
    read name 
    echo "Enter Book Author:" 
    read author_name 
    echo "$name $author_name" >> "$records" #this is my line 12 
} 

add_book 
+0

Awesome. Спасибо!!!! – user3521205

1

Вы не должны хранить файл в каталоге (//lib_records.txt), потому что вы, вероятно, получите Отказано в ошибку. Во-вторых, удалите пробелы в первой строке.