Sida 1 av 2

Simpelt script.. [LÖST]

Postat: 16 dec 2008, 22:59
av Beakon
Jag skulle vilja ha ett script som spelar en ljudfil två gånger med ett slumpvis bestämt tidsintervall i minuter.
Smidigaste vore om jag kunde få två variabler, x = minsta tid och y = max tid.
x får gärna sättas i scriptet och y via kommandoraden när man kör scriptet.
Ljudet ska spelas när scriptet startar och sedan när det avslutas (slumpvis)

Någon som känner sig sugen ?
Har själv på tok för ont i huvudet för att orka plugga in dom kunskaper som krävs för att skriva
ett dylikt nu och någon annan kanske är uttråkad..

Re: Simpelt script..

Postat: 16 dec 2008, 23:16
av Konservburk
Exakt vad menar du?

Du vill spela upp en ljudfil två gånger slumpmässigt länge, en tid mellan x och y? Vad händer om ljudfilen råkar vara kortare än x? Ska den spelas flera gånger då? Om den är länge än y, ska den då sluta spelas innan den är klar?

Re: Simpelt script..

Postat: 16 dec 2008, 23:23
av Beakon
Jag flummar helt och hållet, förlåt.
Tiden mellan uppspelningarna ska vara slupmässig. Minst x max y.
Ljudfilen är aldrig längre eller kortare än någon av variablerna.

Re: Simpelt script..

Postat: 16 dec 2008, 23:31
av Konservburk
Du undrar helt enkelt hur man låter skriptet sova en slumpässig tid, minst x, som mest y.

Det blir typ så här:

Kod: Markera allt

sleep $((RANDOM%(1+y-x)+x))

Re: Simpelt script..

Postat: 17 dec 2008, 00:02
av Beakon
Stadigt !! Det där ser ju ut att vara det jag behöver, tusen tack !

Re: Simpelt script..

Postat: 17 dec 2008, 19:20
av Beakon
Fick inte rätsida på det.
Kör jag

Kod: Markera allt

#!/bin/bash
echo `date`
sleep $((RANDOM%(1+5-1)+1))
echo `date`
Så vilar den alltid i 1 sekund.

Re: Simpelt script..

Postat: 17 dec 2008, 19:56
av Konservburk
Din $RANDOM expanderar nog till 0 av någon okänd anledning.

Prova med echo $RANDOM och echo $((RANDOM%5+1)) och se vad det blir för resultat.

Re: Simpelt script..

Postat: 17 dec 2008, 20:00
av Beakon
Echo $RANDOM ger ingenting och echo $((RANDOM%5+1)) ger 1

Re: Simpelt script..

Postat: 17 dec 2008, 20:01
av dmz
Bejron skrev:Echo $RANDOM ger ingenting och echo $((RANDOM%5+1)) ger 1

Kod: Markera allt

echo

Re: Simpelt script..

Postat: 17 dec 2008, 20:02
av Beakon
Skrivfel från min sida här..

Kod: Markera allt

echo `date`
echo $RANDOM
echo $((RANDOM%5+1))
echo `date`
ger
ons dec 17 19:02:38 CET 2008

1
ons dec 17 19:02:38 CET 2008

Re: Simpelt script..

Postat: 17 dec 2008, 20:10
av Konservburk
Så din $RANDOM fungerar helt enkelt inte :P

Vad använder du för skal? Har du unset RANDOM i någon inställningsfil?

Re: Simpelt script..

Postat: 17 dec 2008, 20:11
av Beakon
Vanlig Ubuntu 8.10 inte petat i någon inställning så vitt jag kan minnas..

Re: Simpelt script..

Postat: 17 dec 2008, 20:20
av Konservburk
När jag frågar vilket skal du använder så vill jag veta vilken version av bash (om det nu är bash) du har.

Kod: Markera allt

echo $BASH_VERSION

Re: Simpelt script..

Postat: 17 dec 2008, 20:23
av Beakon
3.2.39(1)-release
är det enda jag får.

Re: Simpelt script..

Postat: 17 dec 2008, 20:29
av Konservburk
Får du något om du kör:

Kod: Markera allt

env - bash -c 'echo $RANDOM'

Re: Simpelt script..

Postat: 17 dec 2008, 20:31
av Beakon
Det fungerade ju avsevärt mycket bättre..
bejron@Talena:~$ env - bash -c 'echo $RANDOM'
29166
bejron@Talena:~$ env - bash -c 'echo $RANDOM'
10452
bejron@Talena:~$ env - bash -c 'echo $RANDOM'
7243
bejron@Talena:~$ env - bash -c 'echo $RANDOM'
12695
bejron@Talena:~$ env - bash -c 'echo $RANDOM'
1308

Re: Simpelt script..

Postat: 17 dec 2008, 20:35
av Konservburk
Den stora frågan är var någonstans din $RANDOM har gått sönder :-\

Vilka av dessa fungerar?

Kod: Markera allt

bash -c 'echo $RANDOM'

Kod: Markera allt

bash --norc
echo $RANDOM

Kod: Markera allt

bash --noprofile
echo $RANDOM

Kod: Markera allt

bash
echo $RANDOM

Re: Simpelt script..

Postat: 17 dec 2008, 20:38
av Beakon
Samtliga fungerar och ger olika värden vid upprepade försök..

Re: Simpelt script..

Postat: 17 dec 2008, 20:39
av Konservburk
Den här då?

Kod: Markera allt

bash --login
echo $RANDOM

Re: Simpelt script..

Postat: 17 dec 2008, 20:44
av David Andersson
När $RANDOM inte funkar, står det då i ett script som börjat "#!/bin/sh" ?