Upper Case & Lower Case
Upper Case & Lower Case
Hi,
ich habe eigentlich ein recht simples Problem. Mit Hilfe eines Bash Scripts möchte ich in einer "if - Bedingung" eMail Adressen vergleichen.
Hierbei kann es jedoch sein, dass die Benutzer Groß- und Kleinschriebung vermischen und somit meine Bedingung aushebeln würden, weil diese nicht mehr vergleichbare Werte erhält. Ich müsste es also irgendiwe schaffen mit meinen Freunden AWK, oder SED die Variable $SENDER in Kleinbuchstaben umzuwandeln. Dann könnte ich diesen umgewandelten Wert mit dem der Datenbank vergleichen lassen.
Hat jemand ne Idee wie man sich das am besten hinschmieden könnte?
Vielen Dank im Vorraus & Grüße
LeoLinux
ich habe eigentlich ein recht simples Problem. Mit Hilfe eines Bash Scripts möchte ich in einer "if - Bedingung" eMail Adressen vergleichen.
Hierbei kann es jedoch sein, dass die Benutzer Groß- und Kleinschriebung vermischen und somit meine Bedingung aushebeln würden, weil diese nicht mehr vergleichbare Werte erhält. Ich müsste es also irgendiwe schaffen mit meinen Freunden AWK, oder SED die Variable $SENDER in Kleinbuchstaben umzuwandeln. Dann könnte ich diesen umgewandelten Wert mit dem der Datenbank vergleichen lassen.
Hat jemand ne Idee wie man sich das am besten hinschmieden könnte?
Vielen Dank im Vorraus & Grüße
LeoLinux
Re: Upper Case & Lower Case
Ich mache das immer mit "tr":
Gruß
Code: Alles auswählen
echo irgendEtwas | tr "[:upper:]" "[:lower:]"
Re: Upper Case & Lower Case
Fette Sache - Danke!
Re: Upper Case & Lower Case
Eine hinreichend neue eilerlegende Wollmilchshell... ääääähhh... bash (ab welcher Version genau weiß ich aber nicht, die in Squeeze kann) kann das auch ohne "tr".
Schau mal in der Manpage nach ${VAR1^^} und ${VAR,,}.
Schau mal in der Manpage nach ${VAR1^^} und ${VAR,,}.
Re: Upper Case & Lower Case
Interessant. Aber ist das dann nicht zsh? Sollte das nicht die Standard Shell unter Squeeze werden!?yeti hat geschrieben:Eine hinreichend neue eilerlegende Wollmilchshell... ääääähhh... bash (ab welcher Version genau weiß ich aber nicht, die in Squeeze kann) kann das auch ohne "tr".
Schau mal in der Manpage nach ${VAR1^^} und ${VAR,,}.
- bmario
- Beiträge: 1257
- Registriert: 05.09.2007 12:15:47
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dresden
Re: Upper Case & Lower Case
Nein und nein.michaels hat geschrieben:Interessant. Aber ist das dann nicht zsh? Sollte das nicht die Standard Shell unter Squeeze werden!?yeti hat geschrieben:Eine hinreichend neue eilerlegende Wollmilchshell... ääääähhh... bash (ab welcher Version genau weiß ich aber nicht, die in Squeeze kann) kann das auch ohne "tr".
Schau mal in der Manpage nach ${VAR1^^} und ${VAR,,}.
Dash ist die Shell, die nach /bin/sh gelinkt ist, wohingegen der User standardmäßig vor einer Bash sitzt.
Nichts zu tun ist viel besser,
als mit viel Mühe nichts zu schaffen. - Laotse
als mit viel Mühe nichts zu schaffen. - Laotse
Re: Upper Case & Lower Case
Da würde ich aber gern noch eine weitere Meinung hören...denn die Bash (Bourne Again SHell) ist auch nur eine Shell...bmario hat geschrieben:Nein und nein.michaels hat geschrieben:Interessant. Aber ist das dann nicht zsh? Sollte das nicht die Standard Shell unter Squeeze werden!?yeti hat geschrieben:Eine hinreichend neue eilerlegende Wollmilchshell... ääääähhh... bash (ab welcher Version genau weiß ich aber nicht, die in Squeeze kann) kann das auch ohne "tr".
Schau mal in der Manpage nach ${VAR1^^} und ${VAR,,}.
Dash ist die Shell, die nach /bin/sh gelinkt ist, wohingegen der User standardmäßig vor einer Bash sitzt.
Re: Upper Case & Lower Case
Die BASH ist ein Superset der Defakto-Standardshell SH.michaels hat geschrieben:Da würde ich aber gern noch eine weitere Meinung hören...denn die Bash (Bourne Again SHell) ist auch nur eine Shell...
Wenn man sich ordentlich in der BASH ausgetobt hat, dann hat man gute Chancen darauf daß das resultierende Skript nicht in der SH läuft.
Da aber manche Systeme noch den Symlink SH auf BASH zeigen lassen, fallen die Bashismen manchmal nicht auf, selbst wenn man sein Skript mit "#!/bin/sh" beginnt...
Schon etwas gefährlich, wenn man nicht nur für das eine eigene System skriptet...
Re: Upper Case & Lower Case
Jaaa Mann, die Scheiße ist mir auch schon des Öfteren passiert ) - beim ersten Mal hab ich noch richtig lange nach meinem Fehler im Script gesucht bis ich den eigentlichen Fehler entdeckte ) zum Haare ausreisen war das - aber das passiert einem nur einmal - mittlerweile ist das einer der ersten Dinge um die ich mich bei einer Fehleranalysen kümmere )Wenn man sich ordentlich in der BASH ausgetobt hat, dann hat man gute Chancen darauf daß das resultierende Skript nicht in der SH läuft.
Da aber manche Systeme noch den Symlink SH auf BASH zeigen lassen, fallen die Bashismen manchmal nicht auf, selbst wenn man sein Skript mit "#!/bin/sh" beginnt...
Mittlerweile nutze ich "#!/usr/bin/env bash" um sicherzustellen, dass er sich auch die Bash krallt ... anstelle von irgendwelchen anderen Shells mit denen man sonst später die buntesten Überraschungen erfahren würde
- LessWire
- Beiträge: 558
- Registriert: 21.11.2004 04:36:04
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Bavaria
Re: Upper Case & Lower Case
Im package "devscripts" ist das Perl-Script "checkbashisms" enthalten.
Damit lässt sich z.B. feststellen, ob ein bash script zur schlankeren dash kompatibel ist.
Gruß, LW.
Damit lässt sich z.B. feststellen, ob ein bash script zur schlankeren dash kompatibel ist.
Gruß, LW.
at ~ now.