Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Unix Abfrage Ja Nein

Frage Entwicklung Batch & Shell

Mitglied: Erik72

Erik72 (Level 1) - Jetzt verbinden

24.11.2011 um 16:23 Uhr, 4671 Aufrufe, 2 Kommentare

Ein Skript soll Eingaben von der Konsole in eine Datei schreiben.
Nach jeder Eingabe soll eine Abfrage erfolgen, ob noch weitere Namen eingetragen werden sollen.
Hier mein Lösungsansatz. Leider nicht wie gewünscht. Bitte um Hilfe.

#!/bin/sh

while [ $Abfrage ="j" ]
do
echo "Name: \c"
read Eingabe
echo "$Eingabe" >> Dateien
echo "Noch ein Name (j/n)? \c"
read Abfrage
done


Zweite Frage:
Kann ich bestimmte Sonderzeichen bei der Eingabe verbieten lassen? z.B. Wildcards *, ?

Herzlichen Dank allen Helfenden,
Gruß
Erik
Mitglied: hmarkus
24.11.2011 um 17:11 Uhr
Hallo Erik,

so gehts
01.
#!/bin/sh 
02.
 
03.
Abfrage="j" 
04.
while [ "$Abfrage" = "j" ] 
05.
do 
06.
         echo "Name: \c" 
07.
         read Eingabe 
08.
         echo "$Eingabe" >> Dateien 
09.
         echo "Noch ein Name (j/n)?" 
10.
         read Abfrage 
11.
done
Du musst natürlich vor der while-Schleife die Variable "$Abfrage" auf "j" setzten, sonst läuft die Schleife nicht an.
Und um die Variable in der Abfrage gehören ""

Markus
Bitte warten ..
Mitglied: hmarkus
24.11.2011 um 17:43 Uhr
Zu Deiner zweiten Frage:
01.
if [[ "$Eingabe" =~ [^a-zA-Z0-9] ]]; then 
02.
        exit 1 
03.
fi
beendet das Skript sobald ein nicht-alphanumerisches Zeichen in der Eingabe auftritt.

Hier: http://tldp.org/LDP/abs/html/ findest Du das Bash-Tutorial.

Markus
Bitte warten ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Heiß diskutierte Inhalte
CPU, RAM, Mainboards
Kaufberatung für mind. 8 verschiedene HighEnd-Mainboards (24)

Frage von yperiu zum Thema CPU, RAM, Mainboards ...

Hyper-V
Langsames Netzwerk i210 LAN Karte (11)

Frage von Akcent zum Thema Hyper-V ...

Netzwerke
Abisolierwerkzeug (11)

Frage von SarekHL zum Thema Netzwerke ...

Windows Server
Server 2016 - Kuriositäten (8)

Frage von certifiedit.net zum Thema Windows Server ...