Перевод cgi скриптов из windows в linux

Вот столкнулся  с проблеммой перевода cgi скриптов из windows в linux.

Для того чтобы завелись скрипты нужно их немного подредактировать, известны следующие проблеммы:

1. Символ перевода каретки \r

2. Путь к интерпретатору

Скрипты сайта в основном написаны на perl. Значит задача сводится к тому, чтобы найти все perl скрипты в папке /cgi-bin/ нашего сайта, удалить символ перевода каретки \r и заменить путь к интерпретатору, я сделад это следующеми командами:

1. find ./ -iname \*.pl -exec sed -i -e 's/#!c:\/perl\/bin\/perl/#!\/usr\/bin\/env perl/g' {} \;

2. find ./ -iname \*.pl -exec sed -i -e 's/\r//g' {}

Первая команда ищет начиная с текущей директории все файлы оканчивающиеся на .pl и вызывает потоковый редактор sed, который заменяет строчку #!c:/perl/bin/perl на #!/usr/bin/perl

Вторая команда аналогично ищет все файлы оканчивающиеся на .pl  и удаляет символ возврат каретки

Теперь можно пользоваться скриптами, если конечно совместимы версии windows интерпретатора и linux и если в скриптах не завязано на обсалютных путях, но это тоже поправимо по аналогии.

Всем желаю успешного осваивания линукса!

 

похожие страницы

  1. HOWTO: Как за 12 минут установить Linux, попробовать и удалить
  2. Установка "Налогоплательщик ЮЛ" в Linux
  3. Статистика посещений площадки
  4. Сравнение производительности Linux, Windows и MacOS
  5. Xming, X сервер для Windows

#1:

В случае замену пути к интерпретатору необходимости в /g нет и абсолютные пути можно заменить тем же sed`ом

И почему человек сразу не подумал про mod_perl

ответить  2008-10-26 18:19:05 

#2:

Потому что perl не знаю, а знаю немного sed и shell

ответить  2008-10-27 19:50:47 

#3:  Басманов:

Я про автора скриптов
Мы например не используем mod_python потому, что у нас нет возможности его использовать, ограничение хостера

ответить  2008-10-27 19:51:53 

#4:

Hi! http://cooking.webgarden.com/ - cooking lessons.

ответить  2010-02-01 15:17:54