Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
-
OldGod78
- Beiträge: 190
- Registriert: 20.04.2016 20:59:51
-
Kontaktdaten:
Beitrag
von OldGod78 » 11.02.2017 16:38:22
hallo , wie mache ich ein leerzeichen in case aus ? das geht nicht :/
-
TomL
Beitrag
von TomL » 11.02.2017 16:50:50
Code: Alles auswählen
[[ "leerzeichen enthalten" =~ " " ]] && echo "ja" || echo "nein"
ja
[[ "leerzeichenenthalten" =~ " " ]] && echo "ja" || echo "nein"
nein
Da würde ich Dir aber raten, einen anderen Weg zu gehen. So rein gefühlsmäßig glaube ich, dass Du hier hinsichtlich sauberer Programmierung einen Fauxpas begehst... aber sachlich erklären kann ich das Gefühl nicht.
-
OldGod78
- Beiträge: 190
- Registriert: 20.04.2016 20:59:51
-
Kontaktdaten:
Beitrag
von OldGod78 » 11.02.2017 16:56:09
also das geht nicht :
Code: Alles auswählen
while true
do
echo "name ? "
read name
if [[ $name =~ " " ]]; then
echo "leer!"
else
break
fi
done
-
TomL
Beitrag
von TomL » 11.02.2017 16:59:47
" " ist nicht leer, sondern ein Leerzeichen
"" ist ein leerer String
-n und -z sind die If-Condititions, die du in den Links aus meinem Vorposting nachlesen kannst.
-
Meillo
- Moderator
- Beiträge: 9230
- Registriert: 21.06.2005 14:55:06
- Wohnort: Balmora
-
Kontaktdaten:
Beitrag
von Meillo » 12.02.2017 17:02:42
OldGod78 hat geschrieben:hallo , wie mache ich ein leerzeichen in case aus ? das geht nicht :/
Aber so:
(Mal ganz grundsaetzlich: Du stellst recht viele Fragen zum grundsaetzlichen Shellscripten, OldGold78. Es waere sicher sinnvoll, wenn du dich beim Shellscripten nicht bloss so ad-hoc weiterhangeln wuerdest, sondern dich entscheidest, mal strukturiert die Grundlagen zu lernen, indem du ein paar Tutorials durcharbeitest oder Buecher zur Shell liest. Das wird dir enorm viel bringen. Wenn du dir naemlich die Grundkonzepte nie strukturiert aneignest, dann wird dieses Trial'n'Error auch in Zukunft weitergehen. Darum: Lerne dir selbst zu helfen ... indem du von unten (statt von oben) anfaengst. Du scheinst ja genug Interesse daran zu haben. Und der Aufwand zahlt sich schnell aus.)
Use ed once in a while!
-
breakthewall
- Beiträge: 507
- Registriert: 30.12.2016 23:48:51
Beitrag
von breakthewall » 17.02.2017 06:56:17
OldGod78 hat geschrieben:
Man sollte Variablen und Parameter stets in Doublequotes setzen, um Probleme mit Pfaden, Strings und Dateinamen hinsichtlich interpretierter Zeichen zu vermeiden, wie auch weiteren Sachverhalten. Und je nach Inhalten die verarbeitet werden, können daraus mitunter erhebliche Sicherheitslücken entstehen.
Etwas Lernmaterial:
http://mywiki.wooledge.org/BashPitfalls