problemchen mit den skripten...


B4N5H33

Active Member
Joined
Feb 3, 2006
Messages
562
Location
Cologne - Germany
Website
Visit site
hi leutz,
ich hatte eben vor mir für jeden emu ein skript zu schreiben, damit ich mich nicht immer durch die ganzen ordner wühlen muss. diese dann schön im root ablegen und von da aus die ganzen sachen starten. hört sich super an, aber ich bin kläglich gescheitert...

als beispiel:

frodo2x befindet sich auf meiner sd in folgendem Ordner:

/mnt/sd/Emus/frodo2x/

die gpe heisst "Frodo.gpe"

somit müsste das skript (soweit ich das verstanden hab´) so aussehen:

dateiname: frodo.gpe (befindet sich im hauptverzeichnis der sd)
Code:
#!/bin/sh

/mnt/sd/Emus/frodo2x/Frodo.gpe
sync
cd /usr/gp2x/
exec /usr/gp2x/gp2xmenu

ich benutze das programmers notepad und habe auf die unix-zeilenendungen und groß/kleinschreibung geachtet und alles mehrmals kontrolliert. es will einfach nicht. jedesmal lande ich wieder im menü...hab´auch schon verschiedenste variationen mit "cd"/"exec" vor den pfadangaben ausprobiert, relative und absolute pfadangaben, etc. - alles ohne erfolg. kann mir da jemand weiterhelfen? -_-
 
okay, werd´ ich machen. andere frage: mag zwar blöd klingen, aber wird bei der pfadangabe /mnt/sd/... davon ausgegangen, dass die sd-karte "sd" heisst? also meine trägt den namen "GP2X" - liegt es evtl. daran? müsste es dann so heissen: /mnt/GP2x/...? :twisted: ich habe gestern stundenlang daran rumgefummelt und es einfach nicht hinbekommen. wäre natürlich blöde, wenn´s über sterm funzen würde, da somit die erleichterung zunichte gemacht wird... <_<
 
B4N5H33 said:
also meine trägt den namen "GP2X" - liegt es evtl. daran? müsste es dann so heissen: /mnt/GP2x/...?
Also der Ort /mnt/sd ist der Ordner, in dem der Inhalt der SD Karte erscheint. Das ist ein fester Ordner, der nichts mit dem "Namen" der SD Karte zu tun hat. Ist also bei jedem gleich.

Mfg
Dittboy
 
Code:
/mnt/sd/Emus/frodo2x/Frodo.gpe

Bist du dir wirklich sicher, dass die Datei und der Ordner gross geschrieben sind ?

Schau lieber mit einem ls im STerm nach.
 
Mach vielleicht vorher noch einen cd /mnt/sd/Emus/frodo2x

Nicht, dass frodo im Stammverzeichnis nach seinen Datendateien sucht.
 
@sh0: jo, bin mir ganz sicher. wie gesagt, alles mehrmals kontrolliert.

hier noch ein paar variationen, die ich schon ausprobiert hab:

1.
Code:
#!/bin/sh

cd /mnt/sd/Emus/frodo2x
exec ./Frodo.gpe
sync
cd /usr/gp2x/
exec /usr/gp2x/gp2xmenu

2.
Code:
#!/bin/sh

exec /mnt/sd/Emus/frodo2x/Frodo.gpe
sync
cd /usr/gp2x/
exec /usr/gp2x/gp2xmenu

3.
Code:
#!/bin/sh

exec /mnt/sd/Emus/frodo2x/Frodo
sync
cd /usr/gp2x/
exec /usr/gp2x/gp2xmenu

ich habe keinerlei ahnung, woran das liegen kann...
 
Bloede Frage: Wozu braucht der GP2X 'exec'?

Ansonsten wuerde ich wirklich mal mittels des Terminals in das Verzeichnis navigieren und dann manuell ./$PROG.GPE starten. Wenns dann geht, sollte es im Script genauso gehen.
 
wenn man dort einfach nur /usr/gp2x/menu reinhauen würde, würde die bash weiterhin im hintergrund laufen
also die shell, mit de rdas script ausgeführt wird, bis gp2x menü beendet wird

dieses verbraucht resourcen und die sind auf dem gp2x kostbar...

versuch mal dieses:
Code:
<i>
</i>#!/bin/sh 
cd /mnt/sd/?mus/?rodo2x/
./?rodo.gpe 
sync 
cd /usr/gp2x/ 
exec /usr/gp2x/gp2xmenu

zur erklärung ein "?" ist ein platzhalter von der bash, dabei wird es mit einem vorhandenen zeichen ersetzt ;) also egal ob F f das problem ist das auch erodo.gpe wenn es vorher existent wäre ausgeführt werdne würde, doch dieses ist ziemlich unwahrscheinlich, dieses sollte für den anfang reichen
 
hi leutz,

als erstes habe ich eben mal versucht, den emu mit STerm zu starten. hat prima geklappt. allerdings nur mit der "Frodo"-datei, nicht aber mit der "Frodo.gpe"...?! nun gut, dachte ich mir. dann hab ich noch etwas an dem skript rumgebastelt und Frodo tatsächlich über ein skript ans laufen gebracht. doch die freude hielt leider nicht lange an...beim beenden des emus stürtzt der GP2X ab und es tut sich nix mehr. jemand ne idee?

so sieht das skript im moment aus:
Code:
#!/bin/sh 

exec /mnt/sd/Emus/frodo2x/Frodo
sync
cd /usr/gp2x/
./gp2xmenu 

andere variante - gleicher effekt

#!/bin/sh 

exec /mnt/sd/Emus/frodo2x/Frodo
sync
exec /usr/gp2x/gp2xmenu

gruß

B4N5H33
 
hi,

ich habe es nach laaaaanger bastelei endlich hinbekommen, programme per skript zu starten und wieder zum menü zurückzukehren, wenn diese beendet werden. das problem an der ganzen sache ist nur leider, dass ich den befehl "exec" nicht benutzen kann, da das skript dann leider nicht nehr funktioniert (?!)...

das ist die lauffähige version:
Code:
#!/bin/sh

/mnt/sd/Emus/frodo2x/Frodo
sync
cd /usr/gp2x
./gp2xmenu

und diese läuft nicht (warum auch immer)
Code:
#!/bin/sh

exec /mnt/sd/Emus/frodo2x/Frodo
sync
cd /usr/gp2x
exec ./gp2xmenu

kann mir bitte jemand erklären, warum das so ist... :twisted:
 
B4N5H33 said:
hi,

ich habe es nach laaaaanger bastelei endlich hinbekommen, programme per skript zu starten und wieder zum menü zurückzukehren, wenn diese beendet werden. das problem an der ganzen sache ist nur leider, dass ich den befehl "exec" nicht benutzen kann, da das skript dann leider nicht nehr funktioniert (?!)...

das ist die lauffähige version:
Code:
#!/bin/sh

exec /mnt/sd/Emus/frodo2x/Frodo
sync
cd /usr/gp2x
exec ./gp2xmenu

kann mir bitte jemand erklären, warum das so ist... :twisted:

weil das den script interpreter /bin/sh mittels exec beendet,
exec beendet das script komplett und startet dafür das programm was hinter exec steht, somit wird
Code:
sync
cd /usr/gp2x
exec ./gp2xmenu
niemals ausgeführt
 
hmm...das bedeutet: wenn ich frodo mit dem nachfolgenden lauffähigen skript starte und beende (ohne exec) läuft frodo im hintergrund weiter oder wie soll ich das verstehen (jaja die linux n00bs)...
Code:
/mnt/sd/Emus/frodo2x/Frodo
sync
cd /usr/gp2x
./gp2xmenu

damit kann ich frodo prima starten und sogar beenden (yippie - hat ja nur ca. 4 stunden gedauert)! nur bringen tut´s mir nix, da ich mich trotzdem durch die verzeichnisse wühlen muss, bis ich frodo ordner bin -_- also komfort wieder zunichte gemacht...shit <_<

gruß und schönes WE an alle

B4N5H33
 
Back
Top