[shell] Auswahlprogramm

Wiesl

Lt. Junior Grade
Registriert
Feb. 2011
Beiträge
491
Hallo Leute!

Ich hoffe ich gehe hier nicht zu blauäugig ran, aber es sollte doch möglich sein, folgendes Problem "leicht" zu lösen:

Ich möchte ein kurzes Shell-Script erstellen, bei dem ich 3 Auswahlmöglichkeiten in der Console erhalte:
1. Programm A starten
2. Programm B starten
3. zurück zur eingabeaufforderung

--> natürlich sollte nach druck auf 1,2 oder 3 auch entsprechendes passieren ,-)

Ist das sehr kompliziert? Habe mich jetzt durch einige Tutorials gekämpft, aber nichts brauchbares gefunden.
dort wurde immer nur beschrieben, wie man mehrere Programme nacheinader oder zusammen starten kann.

Wenn jemand einen Link hat, oder ein paar Tipps wäre ich sehr dankbar!

Vielen Dank im Vorraus

Wiesl
 
Sry habe ich nicht dazugesagt, es soll in der Linux Konsole laufen!

Also ich möchte mit einem Shellscript ein kleines Auswahlprogramm (siehe oben) und habe dort keine graph. Benutzeroberfläche o.ä.

Also einfach ein kleines Programm nenne wir es einam start.sh und dann kommt in der Konsole folgendes:

[/code]
-- kleines Startprogramm --
1. Programm A
2. Programm B
3. Exit
Code:
Vielleicht ist es jetzt klarer ,-)

Mfg
 
Ich gehe mal davon aus, dass mit Shell die Eingabeaufforderung von Windows gemeint ist, da der Begriff auch einmal vorkommt. Hier ist mal ein Beispiel, wie man das Problem lösen kann:

Code:
@echo off
echo [1] ProgrammA
echo [2] ProgrammB
echo [3] abbrechen
:wiederholen
echo Bitte einen Eintrag ausw„hlen:
set /P w=""
if /I "%w%"=="3" goto :eof
if /I "%w%"=="1" goto :weiterA
if /I "%w%"=="2" goto :weiterB
goto :wiederholen
:weiterA
Pfad1\ProgrammA.exe
goto :eof
:weiterB
Pfad2\ProgrammB.exe
goto :eof

Zum kommentieren habe ich gerade keine Zeit, das kann ich später gerne noch machen.

Edit: Da habe ich wohl zu lange für das Verfassen gebraucht. Die bash-Version kann ich später gerne posten.
 
das wäre sehr nett, habe mich jetzt ein wenig mit @echo, printf und read rumprobiert, komme leider auf keinen grünen Zweig im Moment ;-)
 
Als erstes printest du die Möglichkeiten (echo). Dann ließt du was der Nutzer eingegeben hat (read). Anschließend führst du dementsprechend eine Aktion aus (case).

Code:
#!/bin/bash

echo "1. abcd"
echo "2. efgh"
echo "3. ijkl"

read choice

case $choice in
        1 ) echo "abcd" ;;
        2 ) echo "efgh" ;;
        3 ) echo "ijkl" ;;
        * ) echo "invalid choice" ;;
esac
 
Zuletzt bearbeitet: (Beispiel hinzugefügt)
Zurück
Oben