Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Shellskript: Variable einlesen und prüfen

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - Allgemein
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
hugenay
Gast





BeitragVerfasst am: 27. Okt 2001 21:26   Titel: Shellskript: Variable einlesen und prüfen

Hi,
ich mach mir gerade ein kleines Administrationsskript, das vom User einige Eingaben erwartet. Nun will ich, dass diese geprüft werden auf bestimmte Zeichen, die von der Shell, sed etc. besonders interpretiert werden. Wenn der user etwa "asdf$asdf" eingibt, will ich diesen String prüfen und ein Escapezeichen vor das $ setzen (\), um den STring weiterverarbeiten zu können.
Womit kann ich also einen String auf diese bestimmten Zeichen prüfen und "escapen"? Oder muss ich perl auspacken?
gruss hugenay
 

Jochen
Gast





BeitragVerfasst am: 28. Okt 2001 11:36   Titel: Re: Shellskript: Variable einlesen und prüfen

Irgendwas Shell-externes wird das einfachste sein. Shell-intern könntest Du allerdings mit ${variable//pattern/zeichenkette} arbeiten, sieh mal in der bash(1)-manpage unter "Parameter Expansion".

Ansonsten schlage ich sed(1) vor:
code:

CHECKED_VAR=$(echo "$VAR" | sed -e 's/\\/\\\\/g' -e 's/\*/\\*/' usw.)



Allerdings hast Du in allen Fällen eine Menge zu tippern, um alle Möglichkeiten zu checken. Ein eigenes "quote_all_wildcards"-Kommando ist mir leider nicht bekannt. Wobei mir einfällt: Wenn Du eins bastelst, würdest Du es hier posten?

Jochen
 

hugenay
Gast





BeitragVerfasst am: 29. Okt 2001 18:32   Titel: Re: Shellskript: Variable einlesen und prüfen

Nochwas zum Zusammenhabn erstmal:
eine Funktion des Skriptes: der user wird gefragt, welches wort er ändern will und wie es nach der Änderung nachher aussehen soll. Das heisst also, dass ich die damit eingelesene Variable an sed übergebe, und da gibts dann natürlich ne menge fallen ...

@Jochen:
Ja, sed nehm ich bisher. Hab nur Angst, dass der Benutzer was findet, das das Skript nicht verarbeiten kann und dann allerhand Unheil anrichtet.
awk wollte ich sonst nehmen und mir mal die index, match, gsub etc. funktionen anaschauen.

Was mich übrigens am meisten stört: beruflich arbeite ich nur unter solaris und beispielsweise der grep dort ist viel schwächer auf der Brust. Portieren muesste ich das skript dann auch noch, wenn ich es nicht nur unter linux nutzen will.

Vielleicht sollt ich doch mal mehr perl lernen.
 

Jochen
Gast





BeitragVerfasst am: 29. Okt 2001 20:43   Titel: Re: Shellskript: Variable einlesen und prüfen

Tja, das mit dem Portieren ist so 'ne Sache. Die meisten GNU-Tools findest Du allerdings fix und fertig unter http://www.sunfreeware.com/ als Solaris-Packages. Ansonsten tun sich zwischen Solaris und Linux der sed und der awk nicht viel. Im Falle des Falles ist die GNU-Doku sehr korrekt mit Hinweisen, was standardkonform und was eine GNU-Erweiterung ist. Wenn Du Linux nicht als Hobby, sondern mehr als Lern- und Werkstation für Solaris verwendest, könnte dich vielleicht auch Solaris 8/x86 interessieren? Das findest Du unter... ach Mist, habe den Link gerade nicht hier, liefere ich morgen nach. Sind 4 ISO-Images (Installation, Software 1&2, Dokumentation).

Wenn Du Dich mit sed(1) heimisch fühlst, dann nimm den awk nicht. Für die Tätigkeit würdest Du letzten Endes mit dem awk(1) nur sed(1) emulieren (über gsub()). Das Problem mit dem "Findet der USer nicht doch ein Loch" hängt im Prinzip der Sache, nicht im verwendeten Tool.

Jochen
 

Jochen
Gast





BeitragVerfasst am: 30. Okt 2001 8:53   Titel: Re: Shellskript: Variable einlesen und prüfen

Ja, da ist der Link. Vielleicht hilft's Dir ja weiter - nicht, dass ich Dich von Linux wegbringen will...

ftp://ftp.fsn.hu/pub/CDROM-Images/solaris

Jochen
 

hugenay
Gast





BeitragVerfasst am: 30. Okt 2001 9:20   Titel: Re: Shellskript: Variable einlesen und prüfen

danke Jochen, bin auch fertig mit dem Skript. Ist noch hochgradig optimierungsbedürftig. Viel zu viele Funktionen, aber die will ich langfristig in meine profile einbauen.

Von x86 Solaris halte ich leider nicht viel. Ist aber auch gar nicht nötig, denn Sun Hardware habe ich selbst und steht auch im Job genug rum. Das Dumme daran ist nur, dass ich auf den Maschinen fürs Feld nicht einfach GNU grep (das fehlt mir am meisten) Installieren kann, da gibts ne vorgeschriebene Paketliste ...

gruss hug.
 

Muehle
Gast





BeitragVerfasst am: 02. Nov 2001 1:34   Titel: Re: Shellskript: Variable einlesen und prüfen

Hi Hug,
getopts wäre noch eine Möglichkeit , dort kannst Du festlegen welche Optionen ,Parameter usw. mitgegeben werden dürfen.
Es ist immer eine Erweiterung möglich und selbst die sinnlosesten Eingaben werden bei vernünftiger Programierung mit dem Menue der erlaubten Parameter etc. beantwortet .

bis denne Thomas
 

hugenay
Gast





BeitragVerfasst am: 06. Nov 2001 14:29   Titel: Re: Shellskript: Variable einlesen und prüfen

danke! aber wie gesagt, ich muss ja die Scripte auch Solaris fähig machen. Muss mal schaun obs da auch getopts gibt. Ich will dort eigentlich nichts installieren.
 

Jochen
Gast





BeitragVerfasst am: 06. Nov 2001 14:43   Titel: Re: Shellskript: Variable einlesen und prüfen

getopts sollte als shell-builtin vorhanden sein. Mindestens bei bash/ksh, ansonsten auch als /usr/bin/getopts auf Solaris 2.6 vorhanden.

Jochen
 

hugenay
Gast





BeitragVerfasst am: 10. Nov 2001 10:37   Titel: Re: Shellskript: Variable einlesen und prüfen

ok, überzeugt, jetzt muss ich nurnoch die zeit finden ....
 

Stormbringer



Anmeldungsdatum: 11.01.2001
Beiträge: 1570
Wohnort: Ruhrgebiet

BeitragVerfasst am: 10. Nov 2001 15:50   Titel: Re: Shellskript: Variable einlesen und prüfen

Hi hugenay,

vielleicht per google, ixquick oder metager...?
Zur Not T. Ohrner nach den Zeitdieben fragen!!!

Gruß
_________________
Continuum Hierarchy Supervisor:
You have already been assimilated.
(Rechtschreibungsreformverweigerer!)


Zuletzt bearbeitet von Stormbringer am 10. Nov 2001 15:50, insgesamt 2-mal bearbeitet
 
Benutzer-Profile anzeigen Private Nachricht senden

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - Allgemein Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy