Доброго времени суток! У меня такой вопрос.Я написал несколько скриптов на языке bash и perl.Запускаются все по отдельности все работают,все хорошо.Но требуется автоматизировать запуск,и сделать так что бы все это запускалось одним скриптом.Я попробовал вариант склеить все скрипты в одном файле,копировал туда все скрипты.Нашел информацию как это сделать
http://www.linuxforums.org/forum/programming-scripting/95578-embed-perl-bash-script.html.
У меня получилось вот так
Текст Bash скрипта
perl -w <<:end
$/=chr 10;
$delim1 = "-----------------------------------------------------------------------------\n";
$delim2 = "-- DDL for Stored Procedure ";
$delim3 = "create procedure";
$FN = "\/opt\/tmp\/ddlgen_dif1.sql";
$FN1 = "\/opt\/tmp\/ddlgen_dif2.sql";
$pathOut ="\/opt\/tmp\/ddlgen\/prog\/";
$pathOut1 ="\/opt\/tmp\/ddlgen\/supp\/";
$prevHead = "Head";
open(f2,$FN) or die $!;
$prevCHR10=0;
$TT="";
while ($line=<f2>){
if ($line eq $/){
$prevCHR10 +=1;
next;
}
if ((length $line > 15)and (uc(substr($line,0,15)) eq uc(substr($delim3,0,15)))) {}
else{
if ((length $line > 1) and (uc(substr($line,0,1)) eq uc(substr("go",0,1)))) {}
else{$TT=$TT.$/ x $prevCHR10}}
$prevCHR10 = 0;
if($line eq $delim1){
$line=<f2>;
if((length $line > 26) and (substr ($line,1,27) eq substr($delim2,1,27))) {
$curHead = $prevHead;
$prevHead = $line;
$posDot1 = index ($curHead, ".");
if ($posDot1 > 0) {
$FNout = substr $curHead, $posDot1;
$FNout = substr $FNout,1, length ($FNout)-3;
}else{
$FNout = $curHead;
}
$FNout = $pathOut.$FNout;
open (fOut, ">$FNout")or die $!;
print fOut $TT;
close (fOut) or die $!;
$TT=$delim1;
} else {
$TT=$TT.$delim1;
}
}
$TT=$TT.$line;
}
$curHead = $prevHead;
$posDot1 = index ($curHead, ".");
if ($posDot1 > 0) {
$FNout = substr $curHead, $posDot1;
$FNout = substr $FNout,1, length ($FNout)-3;
}else{
$FNout = $curHead;
}
$FNout = $pathOut.$FNout;
open (fOut, ">$FNout")or die $!;
print fOut $TT;
close (fOut) or die $!;
close(f2) or die $!;
:end
Текст Bash Скрипта
Но программа ругается на синтаксис,хотя с файла где отдельно лежит скрипт все хорошо проходит без ошибок
syntax error at - line 2, near "="
syntax error at - line 11, near "="
syntax error at - line 13, near "(="
syntax error at - line 17, near "}"
syntax error at - line 24, near "( eq"
syntax error at - line 26, near "substr (,"
syntax error at - line 30, near "( >"
syntax error at - line 40, near "="
syntax error at - line 50, near "( >"
syntax error at - line 62, near "="
Примечание:
Помогите пожалуйста,разобраться в чем причина
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.