Dieser Beitrag ist schon älter. Bitte vergewissern Sie sich, dass die Rahmenbedingungen oder der enthaltene Lösungsvorschlag noch dem aktuellen Stand der Technik entspricht.

Choice Alternative für Linux Bash

Mitglied: einwegglas
Hallo Linux-Experten und die, die es werden wollen,

ich habe da ein Problem, an dem ich mir schon seit Stunden die Zähne ausbeiße. Google, bisher imer sehr nützlich, hat diesmal keinen Erfolg gebracht.

Nun mein Problem.

Ich suche eine Alternative zum Windows Choice-Befehl für Bash. Was will ich damit?

Ein Benutzer soll zwischen 3 Alternativen auswählen. Erfolgt keine Eingabe in einer bestimmten Zeit, dann soll der Rechner neugestartet werden. Der Aufbau in etwa wie "choice /c /t"

Ich hoffe ihr könnt mir helfen.

Gruß EWG

Content-Key: 66393

Url: https://administrator.de/contentid/66393

Ausgedruckt am: 30.11.2021 um 22:11 Uhr

Mitglied: spacyfreak
spacyfreak 17.08.2007 um 11:41:42 Uhr
Goto Top
Wie wäre es mit dem "case" Befehl?
Mitglied: einwegglas
einwegglas 20.08.2007 um 11:11:47 Uhr
Goto Top
Die Fallunterscheidung mit Case verwende ich schon. Mir geht es eher um den Parameter Zeit. Gibt es denn überhaupt eine Möglichkeit nach Ablauf eines bestimmten Zeitintervalls automatisch einen Wert zu setzen?

hier mal mein Skript:

echo -n "(R)ohimage wiederherstellen, Finalimage (a)lle Partitionen wiederherstellen, Finalimage nur (S)ystempartion wiederherstellen oder (N)eustart: "

"Jetzt soll nach 30 Sekunden der Rechner neugestartet werden, wenn innerhalb dieser Zeit keine Eingabe erfolgt."


while read Option
do
case $Option in
r|R)
img rp _.zmg
break
;;
a|A)
img rp _.zmg
break
;;
s|S)
img pd1
img pc1 ntfs
img pa1
img rp _.zmg a1:p1
break
;;
n|N)
echo "Der Computer wird neu gestartet"
break
;;
*)
echo "Fehlerhafte Eingabe! Nur r,R,a,A,s,S,n,N"
;;
esac
done

zisedit -r
reboot

Danke für schnelle Antzworten

Gruß EWG
Mitglied: Chephren
Chephren 22.08.2007 um 14:08:55 Uhr
Goto Top
Ich würde etwa so vorgehen:

Datei erzeugen, die z.B. ein init 6 ausführt.
(Ausführrechte nicht vergessen :) face-smile)
Dann skriptgesteuert mittels at (Anleitung hier) ausführen lassen.
Mitglied: einwegglas
einwegglas 23.08.2007 um 11:55:03 Uhr
Goto Top
Vielen Dank für den Hinweis, werde ich mal ausprobieren.

Das Script ist eigentlich für Novell Zenworks, d.h. auf dem Client wird nur in eine abgespeckte Linux-Console gebootet. Ob ich da den at-Befehl nutzen kann, weiß ich nicht.

Deshalb dachte ich ja, dass man das irgendwie mit dem echo-Befehl machen kann.

Gruß EWG
Mitglied: Chephren
Chephren 23.08.2007 um 15:20:53 Uhr
Goto Top
Moin,

nach meinen Informationen ist at in ZenWorks vorhanden und verfügbar. Ob Du es nutzen kannst, musst Du natürlich testen....

Ansonsten müsste auch ein sleep n weiterhelfen.

Gruß

Volker
Mitglied: einwegglas
einwegglas 24.08.2007 um 10:07:40 Uhr
Goto Top
An sleep habe ich auch gedacht. Jedoch ist es mir noch nicht gelungen einen Parameter zu übergeben.

Wie müsste denn das Skript aussehen, wenn ich mit echo -n eine Benutzereingabe anfordere, die standardmäßig mit n für Neustart beantwortet wird, wenn das Zeitintervall abgelaufen ist?

... und sleep nach echo -n auszuführen, funktioniert eh nicht, da das Skript ja vorher auf eine Benutereingabe wartet.

Ein kleines Beispielskript würde mir sicher weiterhelfen ;-) face-wink

Danke

Gruß EWG

@2364: den at -Befehl gibt es leider bei Zenworks nicht
Mitglied: einwegglas
einwegglas 24.08.2007 um 10:39:02 Uhr
Goto Top
Hab mal folgenden Code gefunden, den mir mal einmal erklären müsste:

vollständig:

Erklärungsbedarf:

In der Zenworks-Bash unterstützt "read" keine der o.g Schalter. Daher kann ich den Code nicht testen.

Gruß EWG
Mitglied: Chephren
Chephren 24.08.2007 um 22:52:07 Uhr
Goto Top
Hi,

mehr zum read-Befehl findest Du unter READ

Vielleicht kennt Zen den ja, eventuell mit der Option -t oder so....
Mitglied: einwegglas
einwegglas 26.08.2007 um 17:28:56 Uhr
Goto Top
danke für den Tipp. Werde ich morgen mal testen.
Mitglied: einwegglas
einwegglas 27.08.2007 um 17:43:55 Uhr
Goto Top
leider kennt der read befehl nur den schalter -r, von dem ich nicht weiß, was er macht. damit funktioniert auch dieser befehl nicht.
Heiß diskutierte Beiträge
question
AD Server von 2012 R2 auf Server 2019 R2 hochgesetzt. Domänenlevel noch 2012 Aber nun geht kein LDAPS . LDAP geht gelöst itititVor 1 TagFrageWindows Server18 Kommentare

Hallo zusammen, wir haben die Server 2012 R2 mit Server 2019 R2 ersetzt. Neue Server kein Inplace. Die neuen DCs haben IP und Name gleich ...

question
Euro Zeichen geht nicht mehr gelöst GwaihirVor 1 TagFrageWindows 1014 Kommentare

Hallo zusammen, bei einem User geht das Euro-Zeichen nicht mehr. Er kann es nur noch über Copy&Paste aus der Zeichentabelle einfügen. Auch STRG+ALT+E klappt nicht. ...

question
Bitlockerpartition versehentlich gelöscht Läppi findet nach Partitiosformatierung mbr gpt die Partition nicht wiederPCChaosVor 1 TagFrageWindows 1010 Kommentare

Hallo zusammen, Ich habe ein riesen Problem, das mir sonst einfach erschien. Ich hatte eine Bitlocker Partition D: auf meinem C: Laufwerk installiert. Weil Windows ...

question
Mini PC lüfterlossurvial555Vor 1 TagFrageHardware8 Kommentare

Hallo zusammen, ich bin auf der Suche nach einer guten Lösung über System für staubintensive UmgebungenIch setzte zur Zeit 4 PCs in einem Lagerumfeld ein, ...

question
Dauernd gesperrter User in der ADChristianIT2021Vor 1 TagFrageWindows Server3 Kommentare

Hallo zusammen, Ich habe ein riesen Problem ich habe einen User der wird immer wieder gesperrt. Über die Eventlgs habe ich schon herausgefunden aus welcher ...

question
RDS 2019 - Excel2019 öffnet Dateien sehr langsam gelöst pr3adusVor 1 TagFrageWindows Server15 Kommentare

Guten Tag, ich habe ein Problem bei einem meiner Kunden: seit kurzem verwendet der Kunde meine RDS-Farm. Hier haben wir 2 RDS-Hosts und ein RDS-GW ...

question
Online Kalender gesuchtStefanKittelVor 1 TagFrageInternet8 Kommentare

Hallo, ein Kunde von mir sucht einen Online-Kalender zur Raumreservierung. Keine Datenschutzrelevanten Informationen. Es geht um 3-4 Besprechungsräume in einem Gebäude wo mehrere Firmen sind. ...

question
IMAP - Office365 gesperrt?NulliHBVor 1 TagFrageExchange Server15 Kommentare

Moin Zusammen Ich hoffe ich bin hier richtig :) Es geht um Office365 Exchange / Sicherheitseinstellung Ein frischer Tenant Und ich möchte auf die eine ...