Реклама на сайте Advertise with us

При закачке на сервер скриптов,в конец строки добавляется ^M

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:



С нами с 30.04.03
Сообщения: 54
Рейтинг: 4

Ссылка на сообщениеДобавлено: 12/11/04 в 18:40       Ответить с цитатойцитата 

при закачке на сервер скриптов,в конец строки добавляется ^M, закачиваю в ASCII, в чем дело ?

спасибо

0
 



С нами с 29.09.00
Сообщения: 156
Рейтинг: 92

Ссылка на сообщениеДобавлено: 12/11/04 в 19:01       Ответить с цитатойцитата 

это особенности редактора в котором ты делаешь скрипты он виндовый.
можешь забить не это дело, единственное не удобно потом под юниксом редактировать скрипты, а так на их работу это не влияет.

0
 



С нами с 15.10.02
Сообщения: 464
Рейтинг: 475

Ссылка на сообщениеДобавлено: 12/11/04 в 19:17       Ответить с цитатойцитата 

R.Bear писал:
а так на их работу это не влияет.

Ну не всегда.. Иногда, после установки, вываливалась 500 ошибка и их приходилось конвертировать в unix-формат.
Так что я бы посоветовал все таки конвертировать. Editplus и ряд редакторов умеет это делать, либо средствами unix-a.

0
 



С нами с 30.04.03
Сообщения: 54
Рейтинг: 4

Ссылка на сообщениеДобавлено: 12/11/04 в 19:57       Ответить с цитатойцитата 

точно, скрипты не исполняются, 500

после удаления этой ^M с первой строки - все ок

0
 



С нами с 29.09.00
Сообщения: 156
Рейтинг: 92

Ссылка на сообщениеДобавлено: 12/11/04 в 20:31       Ответить с цитатойцитата 

на чем скрипты писаны ?
чтобы знать во и не попасть.

0
 



С нами с 30.04.03
Сообщения: 54
Рейтинг: 4

Ссылка на сообщениеДобавлено: 12/11/04 в 20:47       Ответить с цитатойцитата 



perl

0
 

старый зануда

С нами с 26.07.03
Сообщения: 3291
Рейтинг: 1361

Ссылка на сообщениеДобавлено: 12/11/04 в 23:27       Ответить с цитатойцитата 

Чтобы не было такой фигни - если Perl-скрипты пишутся под виндой, нужно пользоваться только обычным штатным виндовым блокнотом(NOTEPAD.EXE) или специальными редакторами.
Я использую "Mastak Absolute Perl" - http://aperl.mastak.ru/downloads/ap09b2.exe.
В противном случае скрипт уродуется дополнительными знаками форматирования текста, что и приводит к 500-й ошибке.

Всё для Iphone & Ipad

0
 

Чингачгук, вождь красноглазых

С нами с 14.05.04
Сообщения: 4744
Рейтинг: 1824

Ссылка на сообщениеДобавлено: 13/11/04 в 00:16       Ответить с цитатойцитата 

А точно в ASCII трансфер-то идет? Обычно ftpшник пишет в лог все команды - что там появляется?

0
 

/dev/awm

С нами с 05.02.04
Сообщения: 2300
Рейтинг: 1127

Ссылка на сообщениеДобавлено: 13/11/04 в 01:58       Ответить с цитатойцитата 

это очень похоже на то,что они всетаки не заливаются в ASCII режиме.
дело в том, что виндовые(досовские иже с ними) редакторы по стандарту сохраняют конец строки как 0x0D+0xA, в то время как юниксовые - только 0x0A. Так вот теперь внимание!.
при указании режима трансфера как ASCII в FTP в момент передачи текстового файла FTP-сервер (!) преобразует все последовательности 0x0D+0x0A в 0x0A. если этого не происходит - значит таковы настройки сервера и даже при указании в клиенте ASCII-mode это не изменить.

P.S. понаписал много, но для объяснения - хороший пример.
берем FAR. его редактором создаем текстовый файл. сохраняем в Windows-mode (Shift+F2, далее - меню). смотрим по F3, далее F2 (двоичный режим). после этого берем тот же файл и сохраняем в Unix-mode. смотрим по F3+F2 и видим разницу.

JpS Live

0
 



С нами с 19.12.02
Сообщения: 58
Рейтинг: 20

Ссылка на сообщениеДобавлено: 13/11/04 в 10:25       Ответить с цитатойцитата 

JpS все верно расписал. Нужно передавать в ASCII формате, почти все ftp клиенты умеет это делать. Если не помогает нужно менять ftp клиент, т.к. он кривой. С серверно стороны вс е правильно.
если есть сомнения то
ftp open mysuperhost.com
ascii
и залдиваем файло, если все прошло нормально, смотри выше и меняй ftp клиента.

0
 



С нами с 30.04.03
Сообщения: 54
Рейтинг: 4

Ссылка на сообщениеДобавлено: 13/11/04 в 11:07       Ответить с цитатойцитата 

клиент cuteftp,формат ascii

0
 

/dev/awm

С нами с 05.02.04
Сообщения: 2300
Рейтинг: 1127

Ссылка на сообщениеДобавлено: 13/11/04 в 12:38       Ответить с цитатойцитата 

Poprobujte zakachat' file na server v ASCII-mode, i zakachat' ego obratno v BIN-mode. Esli file's odinakovie posle etogo (fc /b file1 file2), to ASCII-mode ne rabotaet.

JpS Live

0
 

www.romartstudio.com

С нами с 06.11.03
Сообщения: 11998
Рейтинг: 2259

Ссылка на сообщениеДобавлено: 13/11/04 в 14:38       Ответить с цитатойцитата 

если есть заход шеллом попробуй выполнить команду dos2unix
или под виндой работать в юникс формате, фар это прекрасно умеет

Стильный дизайн - за реальные деньги Skype shako1322

0
 

Криптопохуист

С нами с 05.04.03
Сообщения: 17156
Рейтинг: 6019

Ссылка на сообщениеДобавлено: 13/11/04 в 14:51       Ответить с цитатойцитата 

Действительно, различия текстовых файлов юникса и вондовса такие:

Перевод строки Юникс (16-ричный): 0A (1 байт) = \n в сишных языках
Перевод строки Виндовс (16-ричный): 0D 0A (2 байт) = \r\n в сишных языках

Некоторые юниксовые интерпретаторы глючат из-за того что встречают "непонятку" в виде символа \r который им не знаком и считают его за какую-то синтаксическую ошибку.

ASCII-mode передачи файлов в ФТП заменяет все последовательности \r\n на \n. Или просто прибивает все символы \r.

Binary-mode заливает файл таким какой он есть без обработки.

Вот этой командой в файле ScriptName.pl все \r символы прибиваются и он становится полноценным юниховым скриптом icon_smile.gif

tr -d '\r' < ScriptName.pl >a; mv a ScriptName.pl

1
 



С нами с 30.04.03
Сообщения: 54
Рейтинг: 4

Ссылка на сообщениеДобавлено: 13/11/04 в 16:16       Ответить с цитатойцитата 

Pentarh писал:
Действительно, различия текстовых файлов юникса и вондовса такие:
Перевод строки Юникс (16-ричный): 0A (1 байт) = \n в сишных языках
Перевод строки Виндовс (16-ричный): 0D 0A (2 байт) = \r\n в сишных языках
Некоторые юниксовые интерпретаторы глючат из-за того что встречают "непонятку" в виде символа \r который им не знаком и считают его за какую-то синтаксическую ошибку.
ASCII-mode передачи файлов в ФТП заменяет все последовательности \r\n на \n. Или просто прибивает все символы \r.
Binary-mode заливает файл таким какой он есть без обработки.
Вот этой командой в файле ScriptName.pl все \r символы прибиваются и он становится полноценным юниховым скриптом icon_smile.gif
tr -d '\r' < ScriptName.pl >a; mv a ScriptName.pl


working ! icon_smile.gif
thank you very much icon_smile.gif
+rating

0
 



С нами с 14.02.03
Сообщения: 107
Рейтинг: 89

Ссылка на сообщениеДобавлено: 14/11/04 в 16:51       Ответить с цитатойцитата 

Alice писал:
при закачке на сервер скриптов,в конец строки добавляется ^M, закачиваю в ASCII, в чем дело ?
спасибо


fdos.pl
Код:

#!/usr/bin/perl -pi
s/\r\n$/\n/;


закачиваешь файлы, потом в шеле
./fdos.pl filename

хотя вариант Pentarh тоже рабочий
пользуйся тем, что удобнее ;)

0
 



С нами с 07.06.00
Сообщения: 3516
Рейтинг: 1802

Ссылка на сообщениеДобавлено: 14/11/04 в 17:17       Ответить с цитатойцитата 

Вот кстати недавно колупал скрипт борды ПХПББ, так там даже специальный конвертер по этому поводу есть ( fixfiles.sh )
Код:

#!/bin/bash
#
# Remove all those annoying ^M characters that Winblows editor's like to add
# from all files in the current directory and all subdirectories.
#
# Written by: Jonathan Haase.
#
# UPDATE: 7/31/2001: fix so that it doesn't touch things in the images directory
#
# UPDATE: 12/15/2003: Fix so that it doesn't touch any "non-text" files
#

find . > FILELIST.$$
grep -sv FILELIST FILELIST.$$ > FILELIST2.$$
grep -sv $(basename $0) FILELIST2.$$ > FILELIST.$$
grep -sv "^\.$" FILELIST.$$ > FILELIST2.$$
file -f FILELIST2.$$  |grep text | sed -e 's/^\([^\:]*\)\:.*$/\1/' > FILELIST
file -f FILELIST2.$$  |grep -sv text | sed -e 's/^\([^\:]*\)\:.*$/Not Modifying file: \1/'
rm FILELIST2.$$
rm FILELIST.$$

for i in $(cat FILELIST); do
   if [ -f $i ]; then     
      sed -e s/
//g $i > $i.tmp
        mv $i.tmp $i
   fi   
done
rm FILELIST

Elitist Club и Adult Yellow Pages

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »