2015-08-11 3 views
-2

Я новичок в оболочке программирования, и я должен сделать этоShell ошибка программирования

  1. Создание двух каталогов OS_filesR и OS_filesW на рабочем столе
  2. Попросите пользователя ввести имя файла.
  3. Создайте файл с введенным именем файла в OS_filesR, если это нечетное создание и удалите читаемое разрешение. Если это четное создание, создайте файл в OS_filesW и удалите доступное для записи разрешение .
  4. Спросите пользователя, хочет ли он создать другой файл, если да, повторите шаги (2, 3), если нет .

Вот код:

mkdir /home/karim/Desktop/OS_filesR /home/karim/Desktop/OS_filesW 

counter=0 

while(1) 
do 
     echo "Enter the file name" 
     read var 
     if[$counter % 2 -eq 0] 
     then 
       touch /home/karim/Desktop/OS_filesW/$var 
       chmod -w $var 
     else 
       touch /home/karim/Desktop/OS_filesR/$var 
       chmod -r $var 
     fi 
     echo "Do you want to create another file? Enter yes or no" 
     read var2 
     if[$var2 != "yes"] 
     then 
       break 
     fi 

     counter++ 
done 

Я получаю эту ошибку:

строка 9: ошибка синтаксиса около неожиданный маркер then' line 9: затем»

Так как я могу это исправить?

+1

Вы можете найти [shellcheck] (http://www.shellcheck.net) полезный –

ответ

1

Поместите пробел после «[» в строке 9. «[» - это просто псевдоним для тестовой команды и не анализируется отдельно от остальной части строки без пробела.

+1

Пожалуйста, проголосуйте, чтобы закрыть вопросы, которые явно дублируются, а не оставлять ответы на них. –

Смежные вопросы