Page 1 of 1

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

Posted: 14. Nov 2008 10:46
by Eq2
hi,

folgender Code:

Code: Select all

#!/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

Posted: 14. Nov 2008 23:51
by hastifranki
Hallo,

probiere mal folgendes Beispiel:

Code: Select all

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

Posted: 14. Nov 2008 23:54
by 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

Posted: 15. Nov 2008 10:37
by PDA
Perl zu Hilfe holen. Das Problem sind aber die nicht druckbaren Zeichen.

Code: Select all

#!/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?