• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Ein kleines Shell script

ENTARO

Newbie
Hi @all!

Ich möchte ein kleines Progrämmchen schreiben, welches folgendes Problem löst:
Ich habe auf einem USB Stick 3 Ordner (z.B. 1,2,3) wo dateien enthalten sind, unter anderem eine .sh Datei.
Wenn ich jetzt den USB Stick mounte, möchte ich ein darauf einthaltenes Script starten, welches je nach Tastendruck (1,2 oder 3) die .sh Datei im entsprechenden Ordner ausführt.

Kann mir jemand von euch eine kleine Starthilfe oder einen Tipp geben, wie ich damit starten kann?

Danke im Vorraus!

Gruß
ENTARO
 
OP
E

ENTARO

Newbie
Also, ich bin bisher soweit gekommen:

Wenn ich den Stick einstecke, wird mir automatisch die Skriptdatei ausgeführt. Als Test habe ich mir einen Ordner erstellen lassen.
Ist es möglich, dass in der Konsole ein Text erscheint und der Benutzer nur noch eine Taste drücken muss, um in die jeweiligen oben genannten Ordner (1,2,3) zu kommen?

Danke im Vorraus!
 
OP
E

ENTARO

Newbie
Danke für deine Antwort!

Ich bin nun schon soweit, dass ich das Laufwerk mounten lasse und einen Ordner (test) mit einer Datei als Inhalt in das bin Verzeichnis kopieren kann. Nun gibt es aber ein Problem. In der Datei (test.sh) befindet sich ein echo (echo "test"), welches ich natürlich auf dem Bildschirm haben möchte. Leider werden zwar die befehle im Script ausgeführt, aber echo bekomme ich nie eines zu sehen.
Wie muss man ein echo in so einem Fall für Linux verständlich machen?

Danke im Vorraus!
ENTARO
 

death

Member
ENTARO schrieb:
In der Datei (test.sh) befindet sich ein echo (echo "test"), welches ich natürlich auf dem Bildschirm haben möchte. Leider werden zwar die befehle im Script ausgeführt, aber echo bekomme ich nie eines zu sehen.
Wie muss man ein echo in so einem Fall für Linux verständlich machen?
ENTARO

Hallo,
das stichwort heißt xdialog bzw. kdialog oder dialog
 

kbso

Newbie
Wie installierst du den sonst ein Programm?
Schau mal unter dem Foren Apt - smart - YUM und Update und Installation mit Yast2 nach.
 
OP
E

ENTARO

Newbie
Auf diesem Linux Rechner installiere ich überhaupt kein Programm, da ich weder eine CD noch eine Internetverbindung zur verfügung habe... :cry:
Ich schau mir die Foren trotzdem mal an.
 
OP
E

ENTARO

Newbie
Ich schicke Briefe an die Moderatoren, und die sind so nett und Posten für mich:wink:

Nein, ich sitze vor meinem Laptop 8), wo kein Linux mehr drauf ist.
Links, 1 m neben mir ist so ein kleines Rechnerlein, wo Linux schon vorinstalliert war, und zwar nur so dass ich nichtmal eine Grafische Oberfläche draufhabe (ok, die braucht auch keiner, sieht aber schön aus) :D
 

kbso

Newbie
Lautes Groschen klimpern.
Du hast doch einen Usb-Stick. Und du kannst mit deinem Laptop die dialog.rpm downloaden.
Und du kannst die dann mit
Code:
yast -i pfad/zur/dialog.rpm
installieren (Bei SuSE).
Aber du must dich erst über die Abhängigkeiten informieren und die richtige Datei für deine Distributions-Version (z.B.: SuSE 9.0) finden.
 
OP
E

ENTARO

Newbie
Aha, jetzt geht ein Lichtlein auf (nicht wegen des Downloads :wink:)
Dann schau ich mal, was das für ein Linux ist 8)
THX!
 

kbso

Newbie
Oh oh oh. Mea Culpa. Asche auf mein Haupt. :D
Ja:
Code:
rpm -Uhv /pfad/zu/paket.rpm
oder
Code:
apt install /pfad/zu/paket.rpm
oder
Code:
smart install /pfad/zu/paket.rpm

Hab isch noch wasch vergeschen?
 
OP
E

ENTARO

Newbie
Also das mit dem Dialog ist für mich gestorben.
Ich möchte beim echo bleiben.

Mit echo "123" < /dev/console gehts,
nur mit dem "read" habe ich so meine schwierigkeiten...
 

AKO

Hacker
Eine weitere möglichkeit einfache Menüs für die bash zu erstellen ist select. Einfach mal nach googlen.

mfg ako
 
Code:
select todo in "1" "2" "3" ; do
    case $todo in
        "1") #Aufgabe1 ; break 1 ;;
        "2") #Aufgabe2 ; break 1 ;;
        "3") #Aufgabe3 ; break 1 ;;
    esac
done

Ich hoffe das bringt ein wenig Licht ins Dunkle... Viel Sapß noch beim skripten :wink:

P.S.: mit der Variable PS3="promt> " kannst du noch den Promt vom select Befehl verändern
 
Oben