Frage von jan2220, 26

[Linux] Script mit verschiedenen Aktionen?

Hallo Liebe Community, Ich hoffe mir kann jemand helfen drauf zu kommen wie man nochmal ein Script mit verschiedenen "Aktionen" erstellt, sodass man z.B. "/beispiel.sh start" oder "/beispiel.sh stop" machen kann und bei start werden dann halt andere Befehle ausgeführt als bei Stop (Aber Alles in einem Script!) Ich hoffe mir kann da jmd helfen ich habs völlig vergessen D:

MfG. Jan (Jan2220)

Antwort
von Linuxhase, 7

Hallo

z.B. "/beispiel.sh start" oder "/beispiel.sh stop" machen kann und bei
start werden dann halt andere Befehle ausgeführt als bei Stop

Sowas?:

cat select.sh

#!/bin/bash
# Variablen
TITLE="**** LSP Menu ****"
# Der Array fuer das Menu
MENU=(
"Willkommen"
"Anzeige von Soft- und Hardwareinformationen"
"Sichern der aktuellen Prozesshirarchie sowie der Systemlast"
"Systemupdate"
"Countdown"
"Passwortgenerator"
"Manuelles Wetter"
"Ende"
)
ANZAHL=${#MENU[*]}

# Beginn des Scripts
# Schlaufe für das Menü
while true; do
# Menu ausgeben
echo "$TITLE"
for ((i=0; $i<$ANZAHL; i=$i+1)); do
echo " $i: ${MENU[$i]}"
done

# Eingabe verlangen und einlesen
echo -n "Auswahl eingeben, mit ENTER bestaetigen: "
read ANTWORT

# case Anweisung - je nach Eingabe Verhalten bestimmen

case $ANTWORT in

# wenn die Antwort 1 ist tue dies
0)
echo -e "\n=> ${MENU[0]}\n"
ls -l *.sh
echo ""
# hier kommt spaeter die Aktion hin
;;

# wenn die Antwort 1 ist tue dies
1)
echo -e "\n=> ${MENU[1]}\n"
ls -l *.sh
echo ""
# hier kommt spaeter die Aktion hin
;;

# dasselbe fuer die Antwort 2
2)
echo -e "\n=> ${MENU[2]}\n"
apt-get clean
apt-get update
apt-get --yes upgrade
apt-get --yes dist-upgrade
apt-get clean

./addscript.sh $benutzung $scriptname "$zweck"
# hier kommt spaeter die Aktion hin
;;

# dasselbe fuer die Antwort 2
3)
echo -e "\n=> ${MENU[3]}\n"
echo -n "Gebe den Namen des Skriptes ein: "
read skriptname
echo -n "Gib den Zweck ein: "
read zweck

./addscript.sh $benutzung $scriptname "$zweck"
# hier kommt spaeter die Aktion hin
;;

# dasselbe fuer die Antwort 2
4)
echo -e "\n=> ${MENU[4]}\n"
echo -n "Gebe den Namen des Skriptes ein: "
read skriptname
echo -n "Gib den Zweck ein: "
read zweck

./addscript.sh $benutzung $scriptname "$zweck"
# hier kommt spaeter die Aktion hin
;;

# dasselbe fuer die Antwort 2
5)
echo -e "\n=> ${MENU[5]}\n"
echo -n "Gebe den Namen des Skriptes ein: "
read skriptname
echo -n "Gib den Zweck ein: "
read zweck

./addscript.sh $benutzung $scriptname "$zweck"
# hier kommt spaeter die Aktion hin
;;

# dasselbe fuer die Antwort 2
6)
echo -e "\n=> ${MENU[6]}\n"
echo -n "Gebe den Namen des Skriptes ein: "
read skriptname
echo -n "Gib den Zweck ein: "
read zweck

./addscript.sh $benutzung $scriptname "$zweck"
# hier kommt spaeter die Aktion hin
;;

# dasselbe fuer die Antwort 2
7)
echo -e "\n=> ${MENU[7]}\n"
echo -n "Gebe den Namen des Skriptes ein: "
read skriptname
echo -n "Gib den Zweck ein: "
read zweck

./addscript.sh $benutzung $scriptname "$zweck"
# hier kommt spaeter die Aktion hin
;;

# regulaerer Ausdruck, behandelt sowohl e/E als auch q/Q
8|[eE]|[qQ])
echo -e "\n=> ${MENU[8]}\n"
break # while Schleife beenden
;;

# bei allen anderen Antworten kommt dieser Block zum Zug
*)
echo -e "\n=> Ungueltige Eingabe"
;;
esac
done

Linuxhase

Antwort
von PhotonX, 16

Schau mal hier, in Punkt 4: https://linuxconfig.org/bash-scripting-tutorial

Kommentar von jan2220 ,

Danke für die schnelle Antwort! 

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten