Forums Neueste Beiträge
 

Shell-Variable auf zulässigen Inhalt prüfen

20/10/2010 - 23:40 von Claus-Dieter Schulmann | Report spam
Hallo NG,

wie kann man am einfachsten prüfen ob der Inhalt einer Shell-
Variablen nur erlaubte Zeichen enthàlt?

Beispiel:
Die Bash-Variable "name" darf nur folgende Zeichen enthalten:
"-_/[]:,.@+ und auch noch das Leerzeichen und alle Buchstaben
(sowohl Gross- als auch Kleinbuchstaben) und alle Ziffern

Diese Variable darf aber keine Umlaute und kein "ß" enthalten.
Die locale-Einstellung darf dabei das Ergebnis nicht beeinflussen.
Die Methode sollte nach Möglichkeit POSIX-konform sein.

Ein allererster Ansatz könnte so aussehen:
if [ $(echo "$name"|tr -d '"-_/[]:,.@+[A-Za-z0-9]') == '' ] ...

Claus-Dieter
 

Lesen sie die antworten

#1 Bernd Nawothnig
21/10/2010 - 12:34 | Warnen spam
On 2010-10-20, Claus-Dieter Schulmann wrote:
wie kann man am einfachsten prüfen ob der Inhalt einer Shell-
Variablen nur erlaubte Zeichen enthàlt?

Beispiel:
Die Bash-Variable "name" darf nur folgende Zeichen enthalten:
"-_/[]:,.@+ und auch noch das Leerzeichen und alle Buchstaben
(sowohl Gross- als auch Kleinbuchstaben) und alle Ziffern

Diese Variable darf aber keine Umlaute und kein "ß" enthalten.
Die locale-Einstellung darf dabei das Ergebnis nicht beeinflussen.
Die Methode sollte nach Möglichkeit POSIX-konform sein.

Ein allererster Ansatz könnte so aussehen:
if [ $(echo "$name"|tr -d '"-_/[]:,.@+[A-Za-z0-9]') == '' ] ...



Sieht doch gut aus.

Warum nimmst Du es nicht einfach?



Bernd

"Wenn der Islam das Christentum verachtet, so hat er tausendmal recht
dazu: der Islam hat Mànner zur Voraussetzung" [Friedrich Nietzsche]

Ähnliche fragen