2015-03-26 3 views
1

Я работаю над исправлением установки AvantFAX на моем блоке Elastix, копаясь вокруг, я нашел скрипт, который восстановит дефект знания, который заставит сайт выглядеть пустым. Я не писал этот скрипт, и вот оригинал http://sourceforge.net/p/avantfax/discussion/540878/thread/441bd3dc/Ошибка сценария ремонта bash AvantFAX

Он не работает, когда я запускаю его. Я получаю ошибку:

[root @ elastix includes] # bash scriptfilename.sh
Файл "classes.php" edit.
scriptfilename.sh: строка 4: синтаксическая ошибка около неожиданного токена `; '
scriptfilename.sh: строка 4: `if; затем»

# 
echo "File \"classes.php\" edit." 
for i in $(ls); do 
if ; then 
NAME=$i 
i=${i:0:1} 
LETTER=$(echo $i | sed -e 's///g') 
if ; then 
sed -i "/config.php/a\require_once \'$NAME\';" classes.php 
sed -i "/config.php/a\require_once \'htmlMimeMail5.php\';" classes.php 
fi 
fi 
done 


echo "Function \"__autoload\" comment out." 
sed -i "/function __autoload/c\/** function __autoload" classes.php 
n=$(grep -niw 'function __autoload' classes.php|awk -F: '{ print $1 
}'); 
n=$(($n+3)); 
sed -i "$(echo $n)i\ */" classes.php 

-------------------------------------------------------------------------------- 

Using php5.3.7 on centos 6.0 


Johann 

ответ

0

Есть несколько синтаксических ошибок: В if ; then линии не являются допустимыми командами, так как условие отсутствует. Команда, возвращающая значение 0 или не 0 при завершении команды, отсутствует в них. Которое должно быть, я не имею ни малейшего представления.

+0

Хорошо от того, что я могу собрать из исходной записи является то, что PHP делает не как null Я думаю, что это связано с php5.3. 'Функция autoload in includes/classes.php: Функция __autoload ($ class_name) { require_once $ class_name. '.php'; } Доза не работает должным образом под php5.3, а переменная $ class_name не получает имя класса. ' –

+0

Я считаю, что они пытаются заменить нулевой код на истинную ссылку –

0

я опубликовал статью, показывающую исправление avantfax после обновления выше PHP 5.3 here

это код:

#!/bin/bash 
# 
echo "File \"classes.php\" edit." 
for i in $(ls); do 
if [ -f $i ]; then 
NAME=$i 
i=$ 
LETTER=$(echo $i | sed -e 's/[^A-Z]//g') 
if [ ! -z $LETTER ]; then 
sed -i "/config.php/a\require_once \'$NAME\';" classes.php 
sed -i "/config.php/a\require_once \'htmlMimeMail5.php\';" classes.php 
fi 
fi 
done 
echo "Function \"__autoload\" comment out." 
sed -i "/function __autoload/c\/** function __autoload" classes.php 
n=$(grep -niw 'function __autoload' classes.php|awk -F: '{ print $1 }'); 
n=$(($n+3)); 
sed -i "$(echo $n)i\ */" classes.php 
Смежные вопросы