Как я могу сделать сценарий оболочки, используя Perl? - PullRequest
1 голос
/ 23 мая 2009

У меня есть Perl-скрипт под названием replaceUp:

 #!/usr/bin/perl                                          

 search=$1
 replace=$2

 find . -type f -exec perl -p -i -e "s/$search/$replace/g" {} \;

Скрипт не загружается. Это говорит о том, что мой сценарий неверен.

Как создать сценарий оболочки с использованием Perl?

1 Ответ

10 голосов
/ 23 мая 2009

Первая строка должна быть #!/bin/sh, а не #!/usr/local/bin/perl. Вы ошибаетесь, что это скрипт Perl; это скрипт оболочки, который вызывает Perl.

Это также не сработает, потому что $ search и $ replace не будут интерполироваться внутри одинарных кавычек. Попробуйте одинарные кавычки внутри двойные кавычки.

Или еще лучше, попробуйте мой массовый поиск / замена Perl-скрипта . Я держу сценарий на чистом Perl для этого, потому что, несмотря на то, что массовый поиск / замена опасен, вам не нужно многоуровневое толкование метасимволов оболочки, превращающее его из опасного в абсолютно смертельный.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...