Seite 1 von 1

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

Verfasst: 14. Nov 2008 10:46
von Eq2
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

Verfasst: 14. Nov 2008 23:51
von hastifranki
Hallo,

probiere mal folgendes Beispiel:

Code: Alles auswählen

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

Verfasst: 14. Nov 2008 23:54
von Janka
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

Verfasst: 15. Nov 2008 10:37
von PDA
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?