Hilfe - Mal was ganz anderes :)

Einfach Dinge, die nichts mit XAMPP, Apache Friends, Apache, MySQL, PHP und alle dem zu tun haben. Allerlei halt. ;)

Hilfe - Mal was ganz anderes :)

Postby Kristian Marcroft » 22. June 2003 12:43

Hi @ all,

so ich brauch jetzt mal von den Linux scriptern ein bisschen Hilfe :)
Habe folgendes geschrieben:

Code: Select all
idx=1
    while [ "$idx" -le $IRCD_OPER_N ]
do
echo O:"$IRCD_OPER_"$idx"_NICK"
                idx=`expr $idx + 1`
                            done


Die Variablen definiert habe ich wie folgt:
IRCD_OPER_N='2'
IRCD_OPER_1_NICK='KriS'
IRCD_OPER_2_NICK='DJDHG'


Nun bekomme ich aber nicht wie gewünscht eine ausgabe wie:
O:KriS
O:DJDHG


Ich bekomme dann eher sowas wie:
O:1_NICK
O:2_NICK

Weiss einer wie ich das lösen könnte?
Habe es auch schon mit ' statt " versucht. Aber vielleicht noch nicht in der richtigen Konstelation.
So long
KriS
User avatar
Kristian Marcroft
AF Moderator
 
Posts: 2962
Joined: 03. January 2003 12:08
Location: Diedorf

Postby Oswald » 22. June 2003 14:01

Huhu KriS,

probiers mal mit folgender echo-Zeile:

Code: Select all
eval echo O:"\$IRCD_OPER_"$idx"_NICK"


Also eval davor und vor das erste $ ein \.

Liebe Grüße,
Oswald
User avatar
Oswald
Apache Friends
 
Posts: 2718
Joined: 26. December 2002 19:51
Location: Berlin, Germany
Operating System: Linux

Postby Kristian Marcroft » 22. June 2003 23:10

Kai Seidler wrote:Huhu KriS,

probiers mal mit folgender echo-Zeile:

Code: Select all
eval echo O:"\$IRCD_OPER_"$idx"_NICK"


Also eval davor und vor das erste $ ein \.

Liebe Grüße,
Oswald

Hi Oswald,

Danke erstmal...
hat super gefunzt :)
aber das \ vor dem ersten $ muss nit mal sein :)
funzt zumindest auch ohne :)
Danke nochmal

So long
KriS
User avatar
Kristian Marcroft
AF Moderator
 
Posts: 2962
Joined: 03. January 2003 12:08
Location: Diedorf

Postby Oswald » 23. June 2003 09:32

Huhu KriS!

Hmm.. von der Logik her muß das \ da sein. Sonst macht die ganze Zeile keinen Sinn.

Habs grad noch mal ausprobiert und ohne dem \ geht's wirklich nicht. Hier noch mal das Skript im ganzen:

Code: Select all
#!/bin/sh

IRCD_OPER_N='2'
IRCD_OPER_1_NICK='KriS'
IRCD_OPER_2_NICK='DJDHG'

idx=1

while [ "$idx" -le $IRCD_OPER_N ]
do
    eval echo O:"\$IRCD_OPER_"$idx"_NICK"
    idx=`expr $idx + 1`
done


So geht's. Ohne \ geht's nicht.

Defintiven Gruß,
Oswald ;)
User avatar
Oswald
Apache Friends
 
Posts: 2718
Joined: 26. December 2002 19:51
Location: Berlin, Germany
Operating System: Linux

Postby Kristian Marcroft » 23. June 2003 09:38

Hi Kai,

habe gerade etwas gemerkt:
Habe es wie folgt abgeändert das es funzt:

Code: Select all
#!/bin/sh

IRCD_OPER_N='2'
IRCD_OPER_1_NICK='KriS'
IRCD_OPER_2_NICK='DJDHG'

idx=1

while [ "$idx" -le $IRCD_OPER_N ]
do
    eval echo O:'$IRCD_OPER_'$idx'_NICK'
    idx=`expr $idx + 1`
done

Also aus " -> ' gemacht. (DoubleQuote -> SingleQuote)
Und es funktioniert. Zumindest bei mir.
Werde es später zu Hause noch auf nem anderem System testen :)
Danke aber schonmal :)
So long
KriS
User avatar
Kristian Marcroft
AF Moderator
 
Posts: 2962
Joined: 03. January 2003 12:08
Location: Diedorf

Postby Oswald » 23. June 2003 09:42

Huhu KriS!

Okay, ja. Mit ' anstelle der " funktoniert es auch ohne das \.

Gruß,
Oswald
User avatar
Oswald
Apache Friends
 
Posts: 2718
Joined: 26. December 2002 19:51
Location: Berlin, Germany
Operating System: Linux


Return to Allerlei

Who is online

Users browsing this forum: No registered users and 4 guests