LINUX.ORG.RU

perl---->bash


0

0

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


#!/[перл] use strict;

my ($var1,$var2,$var3)=(1,2,3); my $bsh="VAR1=$var1 VAR2=$VAR2 /тудагдележит/башскрипткакойто.сх" ;

# и тут-то мы его

my $res=`$bsh`;

iBliss
()
Ответ на: комментарий от iBliss

форматирование децл слетело, ну разберешся...

iBliss
()
Ответ на: комментарий от iBliss

если не влом, можно поподробнее! Я сейчас попробовал, у меня ничего не вышло! может я не правильно понял.

egort
() автор топика
Ответ на: комментарий от iBliss

ну как я понял, в перловом скрипте задаем переменные my ($var1,$var2,$var3)=(1,2,3); my $bsh="VAR1=$var1 VAR2=$VAR2 /тудагдележит/башскрипткакойто.сх" ;и место расположения баш скрипта ,затем my $res=`$bsh`;это уже в баш (или нет?). заранее извиняюсь, но с баш практически не работал, затем запускаем баш скрипт ,и откуда он возьмет значения переменнх др.скрипта , не понятно!

egort
() автор топика
Ответ на: комментарий от egort

my $res=`$bsh` это мы просим перл запустить строчку указанную в $bsh надеюсь ты не спутал ` и ' (она там где тильда) ;) Результат запуска сложится в $res, управление вернется к перловке по завершению bash скрипта

iBliss
()
Ответ на: комментарий от iBliss

ну смотри #!usr/bin/perl -w #test1 my ($var1,$var2,$var3)=(1,2,3); my $bsh="VAR1=$var1 VAR2=$VAR2/home/test2"; my $res=`$bsh`; ---------------------------------

затем #!bin/sh #test2 echo $res echo $var1 запускаю test1 и ничего!!!! я уже не знаю,что думать

egort
() автор топика
Ответ на: комментарий от egort

Эххххх

вот тут '..VAR2=$VAR2/home/test2 ..' исправь регистр, вставь пробел между переменной и скриптиком и неплохо было бы сказать print $res;

iBliss
()
Ответ на: комментарий от iBliss

perl -pe 's/искомый текст/заменяемый текст/g' < 123 > 12345
perl -e '$a = qq/Hello World/; print $a' # напечатает "Hello World"
perl -p -i.old -e 's/oldstring/newstring/g' file
find . | xargs perl -p -i.old -e 's/oldstring/newstring/g'
perl -na -F: -e 'print "$F[0]\n"' < /etc/passwd
perl -e 'for(<access_log.*>){$a = $_; s/log/log.old/; `cp $a $_`}'
perl -e 'for("B","C","D"){`scp command.pl $_:`; `ssh $_ command.pl`; }'

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.