Sida 1 av 1
Script, köra/starta ett Perl script från ett Bash script
Postat: 14 nov 2008, 10:32
av CirruZZ
Går det att köra ett Perl script från ett Bash script? Svaret är Ja har jag kommit fram till men jag har lite strul om man sen vill köra Bash scriptet via Crontab, för då körs inte Perl scriptet, men resten i Bash scriptet? Om jag däremot själv direkt i Terminalen kör Bash scriptet så funkar det.
Någon som har någon ide på vad som kan vara fel när det gäller att köra det via Crontab? Kan det ha något med rättigheter på Perl scriptet att göra?
Det jag vill åt är följande. Temperaturen läses och sparas via ett Bash script, grafen däremot genereras av ett Perl script. Nu ville jag att grafen skall genereras när tempen är avläst och därför ville jag köra det graf scriptet (perl) från det första scriptet (Bash).
Re: Script, köra/starta ett Perl script från ett Bash script
Postat: 14 nov 2008, 11:24
av FredrikS
Funkade när jag testade.
Mitt bash-script
och början av mitt perl-script:
Kod: Markera allt
root@hunter:~# cat twoaxis.pl
#!/usr/bin/perl
del av min crontab:
Antar att du varit noga med att ge fullständiga pather till allt ?
Annars är väl det den vanliga fällan...
Re: Script, köra/starta ett Perl script från ett Bash script
Postat: 14 nov 2008, 12:19
av CirruZZ
Där sa du något...

Det skumma var ju att det funkade via Terminalen.
Hur som helst, tidigare stod det...
och jag ändrade till
så funkar det!
Tusen TACK för hjälpen!
Re: Script, köra/starta ett Perl script från ett Bash script
Postat: 28 jul 2009, 13:55
av gflygt
[quote="CirruZZ"]Där sa du något...

Det skumma var ju att det funkade via Terminalen.
Det är inte så skumt. crontab har inte den PATH som du har som inloggad i en terminal. Regeln är att alltid skriva sökvägar till de kommandon man inkluderar i script, eller deklarera sökvägar i scripten. Man kan även ange PATH=/bin: etc i crontab
För att göra script generellt körbara är det fiffigt att deklarera alla kommandon med sökvägar i början av ett shellscript. Och sen anropa dom som variabler. Då blir man inte rökt om man glömmer att lägga till en ny sökväg i crontab.
Gunnar
Gunnar
Re: Script, köra/starta ett Perl script från ett Bash script
Postat: 30 jul 2009, 23:07
av CirruZZ
Smart! Tackar för tipset!

Re: Script, köra/starta ett Perl script från ett Bash script
Postat: 13 aug 2009, 10:21
av HUSKii
Gäller samma sätt om man vill köra ett bash script? bara sätta sökvägen tilll scriptet inom ' ' ?
Re: Script, köra/starta ett Perl script från ett Bash script
Postat: 13 aug 2009, 20:51
av CirruZZ
Bra fråga...testa!

Re: Script, köra/starta ett Perl script från ett Bash script
Postat: 14 aug 2009, 08:52
av fredrikw
HUSKii skrev:
Gäller samma sätt om man vill köra ett bash script? bara sätta sökvägen tilll scriptet inom ' ' ?
Ja och nej. Quotes behövs inte om man inte har space i filnamnen (gud förbjude).
Jämför ett shellscript med vad du gör i ditt skal. Vill du köra ett "program" (shellscript, perl, "vanlig binär", whatever) ser man bara till att ha sökvägen korrekt och kör sen på samma sätt. Skillnaden med ett script och att köra interaktivt är att man i scriptfallet ska försäkra sig om att ha rätt sökvägar och eventuella miljövariabler satta (som väl sagts tidigare i tråden). Körs scriptet t.ex. från cron så har man inte samma environment som när man kör det interaktivt.
Ex.
Kod: Markera allt
#!/bin/sh
BINPATH=/home/nisse/mystuff/bin
${BINPATH}/myfancyscript.sh
${BINPATH}/perlgrunka.pl
eller
cd ${BINPATH}
./myfancyscript.sh
Re: Script, köra/starta ett Perl script från ett Bash script
Postat: 14 aug 2009, 10:02
av CirruZZ
Bra förklaring

Re: Script, köra/starta ett Perl script från ett Bash script
Postat: 14 aug 2009, 14:03
av HUSKii
Det där var väldigt bra förklarat, det tackar vi för!