Bitweises ODER in der shell?

Dieses Thema: "Bitweises ODER in der shell?" im Forum "Shell-Skripte" wurde erstellt von clone, 21.06.2004.

  1. clone

    clone Mitglied

    Dabei seit:
    21.05.2004
    Beiträge:
    27
    Zustimmungen:
    0
    Grü,
    kann mir jemand erklären wie ich in der sh zwei variablen bitweise ODER verknüpfen kann??

    Var1=1000
    Var2=0100

    bsp: Ergebnis = Var1 | Var2

    als ergebnis sollte dann 1100 rauskommen!!

    thx im voraus

    mfg clone
     
  2. snax

    snax Doppel-As

    Dabei seit:
    31.03.2004
    Beiträge:
    140
    Zustimmungen:
    0
    Ort:
    BaWü
    hm eigentlich sollte das so funzen...

    Code:
    echo $((1000|0100))
    dort kommt aber 1000 heraus X(
     
  3. clone

    clone Mitglied

    Dabei seit:
    21.05.2004
    Beiträge:
    27
    Zustimmungen:
    0
    echo $((1000|0100))

    habe ich schon probiert als ergebniss bekomme 1004?!!
     
  4. snax

    snax Doppel-As

    Dabei seit:
    31.03.2004
    Beiträge:
    140
    Zustimmungen:
    0
    Ort:
    BaWü
    hä? 8o

    versteh ich nicht...
     
  5. snax

    snax Doppel-As

    Dabei seit:
    31.03.2004
    Beiträge:
    140
    Zustimmungen:
    0
    Ort:
    BaWü
    ok habe nochmal folgendes probiert :)

    Code:
    echo "ibase=2; obase=2; $((1000|0100))" | bc
    
    also eingabe und ausgabe, alles auf basis 2, spuckt aber auch wieder 1000 aus.

    Code:
    snax@superpc:~> v1=2#1000 ; v2=2#0100
    snax@superpc:~> echo $((v1|v2))
    12
    
    2# = basis 2. hier spuckt die shell schonmal 12 aus :D das ist ja als dezimales ergebnis schonmal richtig.
     
  6. cremi

    cremi Dude

    Dabei seit:
    15.02.2004
    Beiträge:
    329
    Zustimmungen:
    0
    Ort:
    AUT/Ktn
    hi hab leider kein linux zur hand

    aber ich würd sagen

    Code:
    echo -e 'obase=2;12' | bc
    
    funkt sicher

    jetzt must du nur noch statt 12 was mit ((v1|v2)) hineinschrieben
    bzw.
    Code:
    v3=$((v1|v2)) 
    
    und dann irgendwie
    Code:
    echo -e 'obase=2;$v3' | bc
    
    ich kanns leider nicht ausprobiern aber geht sicher irgendwie so
     
  7. snax

    snax Doppel-As

    Dabei seit:
    31.03.2004
    Beiträge:
    140
    Zustimmungen:
    0
    Ort:
    BaWü
    jep so funzt es :)

    Code:
    snax@superpc:~> v1=2#1000 ; v2=2#0100
    snax@superpc:~> v3=$((v1|v2))
    snax@superpc:~> echo -e "obase=2;$v3" | bc
    1100
    
     
  8. #8 clone, 22.06.2004
    Zuletzt bearbeitet: 22.06.2004
    clone

    clone Mitglied

    Dabei seit:
    21.05.2004
    Beiträge:
    27
    Zustimmungen:
    0
    Grü,
    erstmals danke für die rasche antwort.

    Leider funzt die ausgabe in 'dual' noch nicht.


    script:
    ------------------------------------
    IdIndAlt=2#1000
    IdIndNeu=2#0100

    IdInd=$(($IdIndNeu | $IdIndAlt))
    echo -e "obase=2;$IdInd" | bc
    ------------------------------------

    die " hatte ich nur hier vergessen...

    Ausgabe:
    ----------------------------------
    clone: .../script > sh -x neu_csh_probe
    + IdIndAlt=2#1000
    + IdIndNeu=2#0100
    + IdInd=12
    + bc
    + echo -e obase=2;$IdInd
    syntax error on line 1,
    ----------------------------------

    mfg clone
     
  9. snax

    snax Doppel-As

    Dabei seit:
    31.03.2004
    Beiträge:
    140
    Zustimmungen:
    0
    Ort:
    BaWü
    da fehlt ein ' oder "

    Code:
    echo -e 'obase=2;$IdInd | bc
    
    so bitte: echo -e 'obase=2;$IdInd' | bc
    oder eben: echo -e "obase=2;$IdInd" | bc
    
     
  10. clone

    clone Mitglied

    Dabei seit:
    21.05.2004
    Beiträge:
    27
    Zustimmungen:
    0
    sorry hatte ich nur hier vergessen im script stimmen die ",
    aber die ausgabe funzt leider noch immer nicht.

    macht nichts es funktioniert die weiterverarbeitung:
    -------------------------------------------------------
    IdIndAlt=2#1000
    IdIndNeu=2#0100


    IdInd=$(($IdIndNeu | $IdIndAlt))

    AgB=$(($IdInd&2#0100))
    -----------------------------------------------------

    Ausgabe:
    ------------------------------------------
    + IdIndAlt=2#1000
    + IdIndNeu=2#0100
    + IdInd=12
    + AgB=4
    ------------------------------------------

    thx


    mf clone
     
  11. cremi

    cremi Dude

    Dabei seit:
    15.02.2004
    Beiträge:
    329
    Zustimmungen:
    0
    Ort:
    AUT/Ktn
    so gehts bei mir
    sript t.sh:
    Code:
    IdIndAlt=2#1000
    IdIndNeu=2#0100
    
    IdInd=$(($IdIndNeu | $IdIndAlt))
    AgB=$(($IdInd&2#0100))
    
    echo -e "obase=2;$IdInd" | bc
    echo -e "obase=2;$AgB" | bc
    
    ausgabe:
    Code:
    $ ./t.sh
    1100
    100
    
     
  12. clone

    clone Mitglied

    Dabei seit:
    21.05.2004
    Beiträge:
    27
    Zustimmungen:
    0
    also so funktionierts auch bei mir aber mit einer fehlermeldung:

    -----------------------------------------
    IdIndAlt=2#1000
    IdIndNeu=2#0100


    IdInd=$(($IdIndNeu | $IdIndAlt))

    AgB=$(($IdInd&2#0100))

    echo -e "ibase=2; obase=2;$IdInd" | bc
    -----------------------------------------

    Ausgabe:
    -----------------------------------------
    + IdIndAlt=2#1000
    + IdIndNeu=2#0100
    + IdInd=12
    + AgB=4
    + bc
    + echo -e ibase=2;obase=2;12
    syntax error on line 1,
    1100
    -----------------------------------------


    mfg clone
     
  13. #13 cremi, 22.06.2004
    Zuletzt bearbeitet: 22.06.2004
    cremi

    cremi Dude

    Dabei seit:
    15.02.2004
    Beiträge:
    329
    Zustimmungen:
    0
    Ort:
    AUT/Ktn
    keine ahnung was da los sein kann
    probier mal
    Code:
    #!/pfad_zum_script/
    in die 1. zeile zu schreiben
    vielleicht hilft das
     
  14. clone

    clone Mitglied

    Dabei seit:
    21.05.2004
    Beiträge:
    27
    Zustimmungen:
    0
    Code:
    #!/pfad_zum_script/
    leider das selbe

    Ausgabe:
    -----------------------------------------
    + IdIndAlt=2#1000
    + IdIndNeu=2#0100
    + IdInd=12
    + AgB=4
    + bc
    + echo -e ibase=2;obase=2;12
    syntax error on line 1,
    1100
    -----------------------------------------

    aber thx

    mfg clone
     
Thema:

Bitweises ODER in der shell?

Die Seite wird geladen...

Bitweises ODER in der shell? - Ähnliche Themen

  1. Artikel: Webzugang für Gäste: Per Kiosk-Browser oder Porteus

    Artikel: Webzugang für Gäste: Per Kiosk-Browser oder Porteus: Wer eine allgemein zugängliche Surfstation anbietet, will den Verwaltungsaufwand so gering wie möglich halten. Dieser Beitrag zeigt und gewichtet...
  2. Linux.Encoder: Das Laster der fehlerhaften Kryptografie

    Linux.Encoder: Das Laster der fehlerhaften Kryptografie: Der mittlerweile in der dritten Generation nun vorliegende Ransomware »Linux.Encoder« kann immer noch kaum Schrecken unter Linux verbreiten -...
  3. Warsow 2.0 modernisiert Grafik

    Warsow 2.0 modernisiert Grafik: Die Warsow-Entwickler haben ihren First-Person-Shooter in der Version 2.0 veröffentlicht. Das Spiel mit einer bunten, comichaft wirkenden Grafik...
  4. Linux.Encoder.1: Verschlüsselungstrojaner unter Linux

    Linux.Encoder.1: Verschlüsselungstrojaner unter Linux: Einem Bericht von Dr.Web zur Folge sorgt ein Verschlüsselungstrojaner unter Linux für Ärger. Der Schädling verschlüsselt Dateien und fordert von...
  5. Warum wird meine Antwort von den Moderatoren nicht freigegeben

    Warum wird meine Antwort von den Moderatoren nicht freigegeben: Hallo, ich habe am 02.08. im Unterforum Shell-Skripte den Beitrag "Kurzzusammenfassung der Befehle und Progr. für die shell" erstellt....