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

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Sed Variablen, die Leerzeichen enthalten ersetzen

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Sonstiges
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Felix-2004
Gast





BeitragVerfasst am: 07. Jul 2004 13:04   Titel: Sed Variablen, die Leerzeichen enthalten ersetzen

Mahlzeit

ich dreh noch durch ich will folgendes in meinem Script machen

ich hab eine Konstante QUELL_PFAD in meinem Bash Script die ich mit einer Funktion zur Konfiguration der Variablen dauerhaft ändern will.

Benutzer gibt Pfad ein. Wenn nichts eingegeben wird dann bleibt er unverändert.
Nun soll die Zeile mit der Konstante per sed geändert werden.

Code:
echo -e -n "\nGeben Sie einen Pfad an .\nAktueller Pfad [$QUELL_PFAD] "
read -e benutzer_eingabe
if [ -n "$benutzer_eingabe" ]; then $(cat $0 | sed "s?QUELL_PFAD=${QUELL_PFAD}?QUELL_PFAD=${benutzer_eingabe}?" > $0t); fi


Die normalen / in sed hab ich durch ? ersetzt.
Es funktioniert alles bis auf das ersetzen der Zeile.
P.S. Es muss auch ein Verzeichniss mit Leerzeichen angegeben werden können

Kann mir da BITTE jemand helfen???? DANKE

mfg Felix
 

jochen
prolinux-forum-admin


Anmeldungsdatum: 14.01.2000
Beiträge: 699
Wohnort: Jülich

BeitragVerfasst am: 07. Jul 2004 13:49   Titel:

Da hast Du aber von hinten durch die Brust ins Auge gearbeitet...

Entweder QUELL_PFAD ist eine Konstante, dann wird sie nicht verändert, oder aber es ist eine Variable, dann kann man sie ändern. Dazu reicht schon
Code:
if [ -n "$benutzer_eingabe" ] ; then
    QUELL_PFAD="$benutzer_eingabe"
fi
Wenn Du jetzt zwischen Aufrufen des Skriptes immer den zuletzt eigegebenen Pfad speichern willst, dann mache es über eine kleine Datei, in der nur
Code:
QUELL_PFAD=irgendwas
drinne steht. Zum Ende Deines Skripts kannst Du mittels
Code:
echo "QUELL_PFAD=$QUELL_PFAD" > .quellpfad
den jetzt gültigen Wert merken und bei Start des Skriptes diese Datei sourcen:
Code:
. .quellpfad
echo $QUELL_PFAD
Wobei das echo nur als Anschaunugsbeispiel dient, um zu zeigen, dass jetzt die Variable QUELL_PFAD gesetzt ist.

Selbstmodifizierende Programme sind böse... Razz

Jochen
_________________
Die grösste Lüge der EDV? "Mal eben..."
 
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen

Felix-2004
Gast





BeitragVerfasst am: 07. Jul 2004 14:03   Titel:

Naja dann mach ich das eben so. ThX

Is gutes Argument mit selbstmodivizierende Scripts.

Aber wieso ist das keine Konstante. Ich mein im normalen Programmablauf wird sie ja nicht geändert.
Nur wenn ich ":~#script.sh -c" zum konfigurieren mach.
 

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

 
Gehen Sie zu:  

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