2016-07-07 9 views
0

Ich arbeite an Raspberry Pi, für den Befehl:Finding höchstwertige Bit unter Linux

char-write-req 0x0011 e00000e0 

Ich erhalte ouput1 wie:

12 57 7e 35 2d 49 

Ähnlich

char-write-req 0x0011 e00100e1 

output2 ist:

In ähnlicher Weise ich Ausgang für verschiedene Befehle bekommen, jetzt will ich für MSB prüfen und dieses Bit in Schaltergehäuse passieren dh I „1“ wollen 12 von ouput1 und „2“ von 23 von output2 und generiere dafür einen switch case. Wie kann ich das tun?

+0

Sie möchten ein bisschen oder die erste Ziffer? –

+0

@krzyk erste Ziffer ..wie ich sagte..1 von 12. – user3484325

Antwort

1

Verwenden cut -c 1 das erste Zeichen von der Ausgabe erhalten:

char-write-req 0x0011 e00000e0 | cut -c 1 

Für den Fall, dass Sie verwenden:

case `char-write-req 0x0011 e00000e0 | cut -c 1` in        
    1) echo "something" ;;              
    2) echo "something else" ;;             
esac 
+0

Danke für die Antwort ..Now erste Ziffer ist nicht behoben, es ändert sich ständig..so ich will so, dass es für die Stelle Position .. prüft, wenn zuerst Position enthält 1 sollte es e00100e1 auslösen, wenn zuerst 5 enthält dann sollte es e00500e5 usw. auslösen .. – user3484325

+0

@ user3484325 hinzugefügt –