Sida 1 av 1
Autoexecute script
Postat: 23 dec 2008, 15:45
av dmz
Två enkla frågor:
1) Jag vill kunna skicka en körbar fil via bluetooth till en specifik location på datorn, och vill att scriptet automatiskt ska köras när det landar på disken, hur löser jag detta? Som en crontab, men det ska alltså köras direkt, och enbart en gång.
2) Hur får jag scriptet att efter lyckad execution ta bort sig självt?
Re: Autoexecute script
Postat: 23 dec 2008, 15:55
av Osprey
dmz skrev:2) Hur får jag scriptet att efter lyckad execution ta bort sig självt?
rm brukar ju funka...
(rm -f $0)
Re: Autoexecute script
Postat: 23 dec 2008, 16:07
av AntonPetts
dmz skrev:1) Jag vill kunna skicka en körbar fil via bluetooth till en specifik location på datorn, och vill att scriptet automatiskt ska köras när det landar på disken, hur löser jag detta? Som en crontab, men det ska alltså köras direkt, och enbart en gång.
Det låter nästan som du tänker skicka virus från mobilen

Re: Autoexecute script
Postat: 23 dec 2008, 16:11
av dmz
AntonPetts skrev:dmz skrev:1) Jag vill kunna skicka en körbar fil via bluetooth till en specifik location på datorn, och vill att scriptet automatiskt ska köras när det landar på disken, hur löser jag detta? Som en crontab, men det ska alltså köras direkt, och enbart en gång.
Det låter nästan som du tänker skicka virus från mobilen

Inte alls.
Kod: Markera allt
TARGET=/mnt/mp3/MUSIC
MUSIC_DIR=/mnt/Music
MPD_PATH=$(mpc --format '[[%file%]]'|head -1)
cp $MUSIC_DIR/$MPD_PATH $TARGET
echo '.: '$MUSIC_DIR/$MPD_PATH '-->' $TARGET
Lat som man är.

Re: Autoexecute script
Postat: 23 dec 2008, 16:17
av AntonPetts
dmz skrev:
Inte alls.
Kod: Markera allt
TARGET=/mnt/mp3/MUSIC
MUSIC_DIR=/mnt/Music
MPD_PATH=$(mpc --format '[[%file%]]'|head -1)
cp $MUSIC_DIR/$MPD_PATH $TARGET
echo '.: '$MUSIC_DIR/$MPD_PATH '-->' $TARGET
Lat som man är.

hehe, ok.
Vad jag vet så kan du nog inte få skriptet att köra sej självt, men du skulle ju kunna sätta upp ett cronjob på disken som kollar efter filen och kör den när det hittar den
Re: Autoexecute script
Postat: 23 dec 2008, 16:23
av dmz
AntonPetts skrev:dmz skrev:
Inte alls.
Kod: Markera allt
TARGET=/mnt/mp3/MUSIC
MUSIC_DIR=/mnt/Music
MPD_PATH=$(mpc --format '[[%file%]]'|head -1)
cp $MUSIC_DIR/$MPD_PATH $TARGET
echo '.: '$MUSIC_DIR/$MPD_PATH '-->' $TARGET
Lat som man är.

hehe, ok.
Vad jag vet så kan du nog inte få skriptet att köra sej självt, men du skulle ju kunna sätta upp ett cronjob på disken som kollar efter filen och kör den när det hittar den
Ah.. typ find ~/bin/ -name mittscript -execdir sh mittscript {} ;\ kanske? Hm, nu ska vi se...
Re: Autoexecute script
Postat: 23 dec 2008, 17:43
av Osprey
Istället för cron så skulle du kanske kunna använda dig av en daemon som gör "tail -f" mot en fil som du skickar något till. Det du skickar till filen skulle antingen kunna vara exakt det script du du vill köra, eller bara en "flagga" för att den ska läsa scriptet någon annanstans i filsystemet...
Re: Autoexecute script
Postat: 23 dec 2008, 19:05
av dmz
incron sägs kunna göra det jag vill, men det verkade oerhört komplicerat för den lilla task jag ville fixa, lär nog bli en vanlig crontab istället, om ingen har något bättre förslag.
Re: Autoexecute script
Postat: 23 dec 2008, 21:48
av Emil.s
Men om du sparar filen på ett specifikt ställe så är det väl bara att lägga till "rm /sökväg/till/scriptet" i slutet?

Re: Autoexecute script
Postat: 23 dec 2008, 21:51
av Osprey
Emil.s skrev:Men om du sparar filen på ett specifikt ställe så är det väl bara att lägga till "rm /sökväg/till/scriptet" i slutet?

Jo precis, det räcker med "rm $0", eller "rm -f $0" om man så vill...

Re: Autoexecute script
Postat: 23 dec 2008, 22:24
av Emil.s
Osprey skrev:Emil.s skrev:Men om du sparar filen på ett specifikt ställe så är det väl bara att lägga till "rm /sökväg/till/scriptet" i slutet?

Jo precis, det räcker med "rm $0", eller "rm -f $0" om man så vill...

Ah, så $0 blir alltså sökvägen till scriptet? (iof rätt logiskt när $1 är första argumentet.

)
Re: Autoexecute script
Postat: 23 dec 2008, 23:20
av Osprey
Emil.s skrev:Ah, så $0 blir alltså sökvägen till scriptet? (iof rätt logiskt när $1 är första argumentet.

)
Jo precis, $0 är alltid namnet på scriptet man kör, inklusive sökväg. Och på samma sätt i C så är argv[0] alltid namnet på programmet man kör inklusive sökväg. Det är ju dessutom så intelligent så att även om man flyttar eller döper om scriptet eller programmet, så blir det ju alltid rätt ändå...
Man kan ju inte påstå att de inte tänkte till när de hittade på allt det här...

Re: Autoexecute script
Postat: 24 dec 2008, 00:01
av dmz
Osprey skrev:Emil.s skrev:Ah, så $0 blir alltså sökvägen till scriptet? (iof rätt logiskt när $1 är första argumentet.

)
Jo precis, $0 är alltid namnet på scriptet man kör, inklusive sökväg. Och på samma sätt i C så är argv[0] alltid namnet på programmet man kör inklusive sökväg. Det är ju dessutom så intelligent så att även om man flyttar eller döper om scriptet eller programmet, så blir det ju alltid rätt ändå...
Man kan ju inte påstå att de inte tänkte till när de hittade på allt det här...

Mycket tjusigt.

Re: Autoexecute script
Postat: 24 dec 2008, 01:16
av Emil.s
Osprey skrev:Emil.s skrev:Ah, så $0 blir alltså sökvägen till scriptet? (iof rätt logiskt när $1 är första argumentet.

)
Jo precis, $0 är alltid namnet på scriptet man kör, inklusive sökväg. Och på samma sätt i C så är argv[0] alltid namnet på programmet man kör inklusive sökväg. Det är ju dessutom så intelligent så att även om man flyttar eller döper om scriptet eller programmet, så blir det ju alltid rätt ändå...
Man kan ju inte påstå att de inte tänkte till när de hittade på allt det här...

Se där ja
Jo, har läst programmering A (C++), och skrivit några enkla program, och då inser man att programmerare måste kunna tänka ett steg längre...
Men de som då har skrivit programmeringsspråken måste ju har vart briljanta genier!

Re: Autoexecute script
Postat: 24 dec 2008, 01:26
av Osprey
Emil.s skrev:Men de som då har skrivit programmeringsspråken måste ju har vart briljanta genier!

Många av dem var säkert mycket intelligenta, samtidigt som det säkert också till stor del berodde på en frustration över att de språk de tidigare använt "varit så otroligt korkade"...
