Перевод 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 и если в скриптах не завязано на обсалютных путях, но это тоже поправимо по аналогии.

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

 

Комментариев 0
Нужна авторизация с помощью
Об авторе
Илья Илья

меня можно найти тут