Variablen

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von Traxmaxx, 15.01.2006.

  1. #1 Traxmaxx, 15.01.2006
    Traxmaxx

    Traxmaxx Grünschnabel

    Dabei seit:
    15.01.2006
    Beiträge:
    4
    Zustimmungen:
    0
    Morgen!

    Ich hab folgendes Problem:

    Ich will aus einer Textdatei bestimmte Stellen rausholen, was mit

    Code:
    #!/bin/bash
    
     PATH=/usr/local/bin:/usr/bin:/bin
     YEAR=`date +%y`
    
    
    
     vnstat -d | cat | while read line
     do
     if [ "$VAR" = 5 ]
     then
     if [ "$line" = "------------------------+-------------+--------------" ]
     then
     exit 0
     else
     echo $line | awk '{ print $1 }'
    
     fi
     else VAR=$[VAR + 1 ]
     fi
     done
    
    soweit auch super funktioniert.

    Nun möchte ich aber

    Code:
    $line | awk '{ print $1 }'
    in eine variable packen. Ich hab alles durchprobiert. Jedoch geht es weder mit

    Code:
    $variable = $line | awk '{ print $1 }'
    noch mit sonstigen anderen möglichkeiten die ich versucht habe. Hat einer ne Idee wie ich das hinbekomme?

    Danke euch schonmal

    Tschö mit ö Traxmaxx
     
  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 avaurus, 15.01.2006
    avaurus

    avaurus °°°°°°°°°°°°°

    Dabei seit:
    28.12.2003
    Beiträge:
    965
    Zustimmungen:
    0
    variable = `echo $line | awk '{ print $1 }'`
     
  4. #3 Traxmaxx, 15.01.2006
    Zuletzt bearbeitet: 15.01.2006
    Traxmaxx

    Traxmaxx Grünschnabel

    Dabei seit:
    15.01.2006
    Beiträge:
    4
    Zustimmungen:
    0
    Erstmal danke für die schnelle antwort :)

    Es geht trotzdem irgendwie nicht :hilfe2:
    Wenn ich es so ausführe:

    Code:
    #!/bin/bash
    
     PATH=/usr/local/bin:/usr/bin:/bin
     YEAR=`date +%y`
    
    
    
     vnstat -d | cat | while read line
     do
     if [ "$VAR" = 5 ]
     then
     if [ "$line" = "------------------------+-------------+--------------" ]
     then
     exit 0
     else
     $variable = `echo $line | awk '{ print $1 }'`
    
     echo $variable
    
     fi
     else VAR=$[VAR + 1 ]
     fi
     done
    
    Bekomme ich den Fehler:
    Wenn ich das $vor der Variable wegnehme, wie es sich eigentlich auch gehört wenn ich richtig liege kommt der Fehler :

    oder mach ich immer noch etwas falsch? :think:



    Hmm irgendwie hab ich es doch hinbekommen...
    recht herzlichen Dank :D
     
  5. #4 Wolfgang, 15.01.2006
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Versuch es mal so:
    VAR="$(echo $line | awk '{ print $1 }')"

    Gruß Wolfgang
     
  6. #5 Traxmaxx, 15.01.2006
    Traxmaxx

    Traxmaxx Grünschnabel

    Dabei seit:
    15.01.2006
    Beiträge:
    4
    Zustimmungen:
    0
    so nun funzt es! :D

    Hab aber noch ne Frage:

    Wie kann ich einer Variablen ein Leerzeichen (ASCII Code) zuweisen?
    Hab was von\oktalwert gelesen... funktioniert aber nicht

    MfG Traxmaxx
     
  7. oenone

    oenone Freier Programmierer[Mod]

    Dabei seit:
    22.08.2002
    Beiträge:
    599
    Zustimmungen:
    0
    Ort:
    Mannheim
    foo=" "
     
  8. #7 Traxmaxx, 16.01.2006
    Zuletzt bearbeitet: 16.01.2006
    Traxmaxx

    Traxmaxx Grünschnabel

    Dabei seit:
    15.01.2006
    Beiträge:
    4
    Zustimmungen:
    0
    Hab ich auch schon ausprobiert, jedoch geht das nicht. ?(
    Ich will nen String mit XY Zeichen haben und vorne Leerzeichen dransetzen, bis der String XY Zeichen lang ist.
    Hier nochmal ein Quelltextausschnitt:

    Anstatt des Unterstriches vor $Var soll ein Leerzeichen rein. Aber wenn ich es mit " " mache geht es nicht. Deswegen wollte ich eigentlich wissen, wie ich es als ASCII Code da rein bekomme um zu schaun ob es so vllcht geht. :)

    Hm habs nun hinbekommen :)

    Mit
    geht es nun.
    Ich danke euch...

    Tschö mit ö Traxmaxx
     
  9. #8 Wolfgang, 16.01.2006
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Auch ASCII kannst du einer Stringvariablen zuweisen!
    z.B so
    TEST=$(echo -ne "\x20\x20\x20Leer\x20weiter")

    Gruß Wolfgang
     
  10. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  11. #9 ninguno, 16.01.2006
    ninguno

    ninguno Tripel-As

    Dabei seit:
    13.05.2005
    Beiträge:
    162
    Zustimmungen:
    0
    geht übrigens auch ohne echo
    Code:
    TEST=$'\x20\x20\x20Leer\x20weiter'
     
  12. #10 Wolfgang, 16.01.2006
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Ja, das stimmt. Aber ich bin mir nicht sicher, ob das portable ist.
    Hab mir die alte Schreibweise angewöhnt, weil das überall klappt.

    Gruß Wolfgang
     
Thema:

Variablen

Die Seite wird geladen...

Variablen - Ä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? #...