LINUX.ORG.RU

Сообщения Shark_vil

 

Ошибка при выполнении скрипта - eval: Syntax error: Unterminated quoted string

Форум — Development

В первый раз вроде абы как работало. Добавил пару новых строк. Теперь не реагирует. При запуске выдаёт ошибку: votelist.sh: 1: eval: Syntax error: Unterminated quoted string В чём проблема, понять не могу. Подскажите, умные люди.

Вот код:

#!/bin/bash
cd /home/fghost/www/uservoteslist/ #Переход в папку с файлами
name=`find . -type f | wc -l` #Общее кол-во файлов в папке
number=$name
xjo=`shuf -i 1-5 -n 1` #Рандомное число от 1 до 5

while [ $number -gt 0 ] #Выполнять цикл пока number больше 0
do
	data=`cat /home/fghost/www/uservoteslist/$number.txt` #Получаем переменные из файла
	for i in $data; do eval $i; done #Получаем переменные из файла
	
	if [ "$completed" = "" ]; then #Если переменной не существует то выполняем
		if [ $statusgift -eq 1 ]; then #Если значение statusgift = 1 тогда
			#-------------------------------------
			#Подбираем функцию под рандомное значение
			if [ $xjo -eq 1 ]; then 
				screen -x sandbox -X stuff 'ulx tempadduser $username gift 1440 user^M'
				else
			return
			fi
			if [ $xjo -eq 2 ]; then 
				screen -x sandbox -X stuff 'ulx tempadduser $username gift2 1440 user^M'
				else
			return
			fi
			if [ $xjo -eq 3 ]; then 
				screen -x sandbox -X stuff 'ulx tempadduser $username gift3 1440 user^M'
				else
			return
			fi
			if [ $xjo -eq 4 ]; then 
				screen -x sandbox -X stuff 'ulx tempadduser $username gift4 1440 user^M'
				else
			return
			fi
			if [ $xjo -eq 5 ]; then 
				screen -x sandbox -X stuff 'ulx tempadduser $username gift5 1440 user^M'
				else
			return
			fi
		
		echo "completed='yes'" >>/home/fghost/www/uservoteslist/$number.txt #Ставим статус 'завершено'
		number=$(($number-1)) #Вычитаем от самого большого значения 1 и переходим к проверке нового файла
		fi
	else return
	fi
done

Суть скрипта в том, что-бы выдавать призовые группы на сервере. Тут происходит подсчёт всех файлов в папке и сравнение их переменных. Пример содержимого ещё не завершённого файла:

username="Filo"
statusgift="1"
Когда скрипт окончит проверку и выполнение, файл будет выглядеть так:
username="Filo"
statusgift="1"
completed="yes"

Вроде всё что только можно рассказал, в принципе основная проблем в этом - votelist.sh: 1: eval: Syntax error: Unterminated quoted string

 , ,

Shark_vil
()

RSS подписка на новые темы