ursprünglichen IFS wiederherstellen

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von Peter84, 06.09.2005.

  1. #1 Peter84, 06.09.2005
    Peter84

    Peter84 Grünschnabel

    Dabei seit:
    06.09.2005
    Beiträge:
    4
    Zustimmungen:
    0
    Hi,
    Ich kenn mich nicht besonders aus mit Shell-Programmierung und hab deswegen auf der bash den Internal Field Separator geändert, ohen ihn vorher in einer anderen Variablen zu sichern. Meine Frage nun, wie kann ich dem IFS die ursprüngliche Einstellung (leerzeichen, tab, newline) wieder zuweisen?
     
  2. Anzeige

    Schau dir mal diesen Ratgeber an. Viele Antworten inkl. passender Shell-Befehle!
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 qmasterrr, 07.09.2005
    qmasterrr

    qmasterrr Foren Gott

    Dabei seit:
    01.01.2004
    Beiträge:
    2.735
    Zustimmungen:
    0
    Ort:
    Germany/NRW/Wesel
    Hi, und willlkommen im Board

    Aus der Manpage von Bash

    IFS The Internal Field Separator that is used for word splitting
    after expansion and to split lines into words with the read
    builtin command. The default value is ``<space><tab><new-
    line>''.

    Ich vermute, das hilft dir weiter.
     
  4. devilz

    devilz Pro*phet
    Administrator

    Dabei seit:
    01.05.2002
    Beiträge:
    12.244
    Zustimmungen:
    0
    Ort:
    Hessen
    Wird der nicht spätestens nach dem reboot wieder gesetzt ?
     
  5. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Code:
    unset IFS
    Gruss, Phorus
     
  6. #5 Wolfgang, 07.09.2005
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Na aber ... :oldman
    wir sind doch nicht bei Wintendo.

    :rtfm:
    :D :D :D :D
    Gruß Wolfgang
     
  7. #6 Peter84, 07.09.2005
    Peter84

    Peter84 Grünschnabel

    Dabei seit:
    06.09.2005
    Beiträge:
    4
    Zustimmungen:
    0
    Vielen Dank erstmal, aber bislang haben mir die Vorschläge noch nicht weiterhelfen können. Scheint wohl wirklich ein größeres Problem zu sein. Falls noch einem was einfällt wär ich dankbar... :-)
     
  8. #7 Xanti, 07.09.2005
    Zuletzt bearbeitet: 07.09.2005
    Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Wieso hilft Dir mein Hinweis nicht weiter?

    Code:
    [~]$ A=123
    [~]$ IFS=2
    [~]$ echo $A
    1 3
    [~]$ unset IFS
    [~]$ echo $A
    123
    
    edit:

    Code:
    [~]$ A="123 123"
    [~]$ IFS=2
    [~]$ set $A
    [~]$ echo $1
    1
    [~]$ unset IFS
    [~]$ set $A
    [~]$ echo $1
    123
    
     
  9. #8 Peter84, 07.09.2005
    Peter84

    Peter84 Grünschnabel

    Dabei seit:
    06.09.2005
    Beiträge:
    4
    Zustimmungen:
    0
    Sorry, das unset funktioniert bei mir nicht (mehr), kann damit nicht den ursprünglichen IFS wiederherstellen
     
  10. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Welche Shell nutzt Du? Habe oben irgendwas mit Bash gelesen (mein Versehen)...
     
  11. #10 Wolfgang, 07.09.2005
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Wo ist das Problem?
    Woran machst du denn deine Aussage fest?
    Was funktioniert denn nicht wie erwartet?
    Gib doch mal ein Beispiel von deinen Code, der mit dem vermeindlichen falschen IFS nicht funktioniert.
    Außerdem wird diese Variable mit jeder neuen Shell neu inititialisiert.
    Selbst nach Verlassen einer Subshell steht dieser wieder auf dem default Wert.

    Eventuell solltest du doch mal in die man von der bash sehen.

    Gruß Wolfgang
     
  12. #11 Peter84, 07.09.2005
    Zuletzt bearbeitet: 07.09.2005
    Peter84

    Peter84 Grünschnabel

    Dabei seit:
    06.09.2005
    Beiträge:
    4
    Zustimmungen:
    0
    Ok, danke, das Problem hat sich erledigt - wie gesagt, bin nicht der große Spezialist in der Shell-Programmierung! Hab immer mit
    Code:
    echo $IFS | od -bc
    kontrolliert, ob der IFS wieder richtig gesetzt ist - und dabei halt die Anführungszeichen vergessen *schäm*. Folglich müsste er also nach jedem Neustart der Shell auch wieder auf den Ausgangswert gesetzt werden, denke ich. Vielleicht hats aber auch nur einfach mit unset geklappt. Aber nochmals vielen Dank für euer Mitwirken!
     
  13. #12 Schlaubi_fi.de, 07.09.2005
    Schlaubi_fi.de

    Schlaubi_fi.de Mac OS X User

    Dabei seit:
    22.12.2004
    Beiträge:
    304
    Zustimmungen:
    0
    Na klar ist alles nach einem Reboot wieder weg. Wenn du eine Variablenzuweisung in der Shell machst wird das im Speicher abgebildet und gilt nur so lange die Shell aktiv ist. Normalerweise hätte ein erneuter Aufruf der Shell auch genügt. Bootfest variablen setzen - dazu müssen die Daten schon auf die Platte geschrieben werden z.B. in eine Datei, welche beim Start der Shell dann erst gelesen werden a la .profile bzw. export $PATH....
     
Thema:

ursprünglichen IFS wiederherstellen

Die Seite wird geladen...

ursprünglichen IFS wiederherstellen - Ähnliche Themen

  1. SSD auf einen (geringfügig) kleineren USB-Stick wiederherstellen

    SSD auf einen (geringfügig) kleineren USB-Stick wiederherstellen: Hallo, ich habe hier ein Ubuntu, instaliert auf einer SSD. Für einige Systemtests möchte ich das System auf einen USb-Stick klonen, der leider...
  2. Tabs wiederherstellen funktioniert bei Firefox nicht

    Tabs wiederherstellen funktioniert bei Firefox nicht: Hallo, seit kurzem kann ich in Firefox keine geschlossenen Tabs wiederherstellen. Wenn ich auf den entsprechenden Button klicke, passiert...
  3. Daten wiederherstellen

    Daten wiederherstellen: Hallo, leider habe ich ein Problem mit meiner Externen Festplatte. Nachdem ich mir Suse installierte wollte ich mir die Daten von der Externen...
  4. paritionstabelle wiederherstellen?

    paritionstabelle wiederherstellen?: Hallo, ich verwende Debian und habe auch mal Windows xp benutzt (auch parallel), aber es ist ordentlich kapputgegangen, ich wollte es neu...
  5. Gelöschte E-Mail wiederherstellen

    Gelöschte E-Mail wiederherstellen: Hallo habe mir vor wenigen Tagen SUSE Linux 11.0 zugelegt und habe dieses auch umgehend installiert. Da ich noch ein recht unerfahrerner...