Variablen Substituion

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von tuxlover, 22.02.2006.

  1. #1 tuxlover, 22.02.2006
    tuxlover

    tuxlover Der den Tux knuddelt

    Dabei seit:
    26.10.2005
    Beiträge:
    2.106
    Zustimmungen:
    0
    Ort:
    berlin
    hallo allerseits,

    ich habe mich nun ein bisschen mit der shell-programmierung auseinandergesetzt und bin nun bei dem Kapitel "Variable Substition" hängengeblieben. Dazu folgende Frage:

    Was ist der Unterschied zwischen

    a)${<VARIABLE>:-<wert>}

    b)${<VARIABLE>:=<wert>}

    und

    c)${<VARIABLE>:+<wert>}

    Es wäre nett wenn mir das der eine odere andere mal an einem klar ersichtlichen Beispiel erklären könnte. Ich habe schon das Internet durchforstet und schon eine grobe Ahnung was der Unterschied sein könnte. Sicher bin ich mir aber nicht.

    vielen dank
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 Xanti, 22.02.2006
    Zuletzt bearbeitet: 23.02.2006
    Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Code:
           ${parameter:-word}
                  Use  Default  Values.  If parameter is unset or null, the expan-
                  sion of word is substituted.  Otherwise, the value of  parameter
                  is substituted.
           ${parameter:=word}
                  Assign  Default  Values.   If  parameter  is  unset or null, the
                  expansion of word is assigned to parameter.  The value of param-
                  eter  is  then  substituted.   Positional parameters and special
                  parameters may not be assigned to in this way.
           ${parameter:+word}
                  Use Alternate Value.  If parameter is null or unset, nothing  is
                  substituted, otherwise the expansion of word is substituted.
    
    Sollte eigentlich verständlich sein, aber trotzdem noch ein Beispiel:

    ":="
    Code:
    [~]$ echo $a
    
    [~]$ echo ${a:=1}
    1
    [~]$ echo $a
    1
    [~]$ echo ${a:=2}
    1
    [~]$ echo $a
    1
    
    Wenn Variable nicht gesetzt ist, wird ihr "1" zugeordnet und ${a:=1} wird als "1" ausgewertet. Wenn Variable gesetzt ist, dann wird {a:=} als $a ausgewertet.

    ":-"
    Code:
    [~]$ echo $a
    
    [~]$ echo ${a:-1}
    1
    [~]$ echo $a
    
    Wenn Variable nicht gesetzt ist, wird der Ausdruck "${a:-1}" als "1" ausgewertet, a wird aber nicht gesetzt.

    ":+"
    Code:
    [~]$ echo $a
    
    [~]$ echo ${a:+1}
    1
    [~]$ a=2
    [~]$ echo ${a:+1}
    
    [~]$ echo $a
    2
    
    Wenn Variable nicht gesetzt ist, wird ${a:+1} als "1" ausgewertet, es erfolgt keine Zuweisung an a.

    Gruss, Phorus
     
  4. #3 tuxlover, 22.02.2006
    tuxlover

    tuxlover Der den Tux knuddelt

    Dabei seit:
    26.10.2005
    Beiträge:
    2.106
    Zustimmungen:
    0
    Ort:
    berlin
    hallo phorus,

    haben wir das gleiche buch? "Teach yourself shellprogramming in 24 hours?" genau das was du oben zitierst habe ich nicht verstanden. aber jetzt mit dem beispiel ist es klar geworden.

    danke
     
  5. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Nix Buch, nur "man bash" ;)
     
  6. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

Variablen Substituion

Die Seite wird geladen...

Variablen Substituion - Ähnliche Themen

  1. Linux 4.5 will UEFI-Variablen besser schützen

    Linux 4.5 will UEFI-Variablen besser schützen: Das Löschen bestimmter UEFI-Variablen kann manche Rechner nicht mehr startbar machen. Das kommende Linux 4.5 ergreift Maßnahmen dagegen, die im...
  2. Textdatei zeilenweise in durchnummerierte Variablen schreiben

    Textdatei zeilenweise in durchnummerierte Variablen schreiben: Hi Leute, ich versuche folgendes Problem zu lösen. Ich möchte eine Textdatei einlesen und den Inhalt jeder Zeile in immer eine neue Variable...
  3. mysql Select Abfrageergebnis in unterschiedlichen Variablen sichern

    mysql Select Abfrageergebnis in unterschiedlichen Variablen sichern: Hallo zusammen, es geht um folgenden Teil meiner .sh-Datei: NumberCheck=`mysql $SQL_ARGS "SELECT lkw, Firma FROM adb_group WHERE...
  4. Teil einer Variablen auslesen und in neue Variable schreiben

    Teil einer Variablen auslesen und in neue Variable schreiben: Hallo, ist für Euch bestimmt ganz einfach, aber trotz googlen komme ich nicht auf eine Lösung. In Variable x habe ich stehen: xy,ab Nun möchte...
  5. Inhalt einer Variablen aus Batch an Shellscript übergeben

    Inhalt einer Variablen aus Batch an Shellscript übergeben: Hallo, ich komme einfach nicht drauf. Wie kann ich den Wert aus einer Variablen eines Batches an mein Shellscript übergeben? So? #...