zufälliges Asciizeichen (Kleinschreibung) ausgeben - Problem bei echo

Antworten
Nachricht
Autor
Eq2

zufälliges Asciizeichen (Kleinschreibung) ausgeben - Problem bei echo

#1 Beitrag von Eq2 » 14. Nov 2008 10:46

hi,

folgender Code:

Code: Alles auswählen

#!/bin/sh

NUMBER=$[ ( $RANDOM % 27 )+ 140 ]

OUT="\x$NUMBER"
echo $OUT
damit wird \x164 oder \x147 oder so angezeigt.
ich möchte an dieser Stelle jedoch das ZEICHEN ausgegeben haben, muss dazu jedoch \x164 in '\x164' schreiben.

wie mach ich das bei diesem Beispiel ?

Danke und Grüße

PS: ich hatte diesen Beitrag gestern schon mal geschrieben, find ihn aber nicht mehr

Benutzeravatar
hastifranki
Beiträge: 259
Registriert: 06. Mai 2006 19:58

#2 Beitrag von hastifranki » 14. Nov 2008 23:51

Hallo,

probiere mal folgendes Beispiel:

Code: Alles auswählen

echo -e "\x$(printf "%x \n" 164)"
Viele Grüße
Frank

Benutzeravatar
Janka
Beiträge: 3581
Registriert: 11. Feb 2006 19:10

#3 Beitrag von Janka » 14. Nov 2008 23:54

So geht das nicht. \x erwartet eine hexadezimale Zahl, du lieferst aber in NUMBER eine dezimale. Mit hexadezimalen Zahlen brauchst du "echo -e $OUT". Alternativ kann die Bash das auch mit oktalen Zahlen, nur eben dezimal leider nicht.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

PDA

#4 Beitrag von PDA » 15. Nov 2008 10:37

Perl zu Hilfe holen. Das Problem sind aber die nicht druckbaren Zeichen.

Code: Alles auswählen

#!/bin/sh
NUMBER=$[ ( $RANDOM % 27 )+ 140 ]
OUT=$NUMBER
perl -e "print chr ($OUT)"

# Gibt das jeweilige ASCII Zeichen aus, sofern möglich (Darstellungsprobleme).
Was willst du mit diesem Code erreichen?

Antworten