kleine Shell-Skripting Frage:

Bash, Shell, PHP, Python, Perl, CGI
eisbärmann
Posts: 28
Joined: 2004-06-27 14:04

kleine Shell-Skripting Frage:

Post by eisbärmann »

ich bastle mir gerade einen kleinen passwortgenerator.

Dabei sind in einem Array alle möglichen Zeichen einzelnenn durch einen eindeutigen Index referenzierbar.

Aus einigen Zahlen wird eine Zufallszahl generiert. Anschließend soll nur noch das Zeichen ausgegeben werden, dass durch die Zufallszahl identifiziert wird.

Code: Select all

chars=( a b c d )

echo ${chars[2]} # gibt c aus

zufall=2 # zufall wäre 2

echo ${chars[${zufall}]} # sollte auch c ausgeben
ich weiß, dass der letzt echo-Aufruf so nichts ausgibt. Genau mein Problem.

ich hatte bereits ein skript mit dynamischer array-ausgabe geschrieben, doch ich finde es aktuell nicht mehr.

kann mir bitte jemand helfen?!! :(
floschi
Userprojekt
Userprojekt
Posts: 3247
Joined: 2002-07-18 08:13
Location: München

Re: kleine Shell-Skripting Frage:

Post by floschi »

Also bei mir wird 2x c ausgegeben mit obigem Skript... auch wenn ich die geschweiften Klammern weglasse.
eisbärmann
Posts: 28
Joined: 2004-06-27 14:04

Re: kleine Shell-Skripting Frage:

Post by eisbärmann »

danke olfi.

ich bin gestern auch noch auf das Porblem gekommen.
Ich habe im ersten Durchlauf das Array richtig initialisiert und dann wie mir scheint in meiner Ermüdung abgeändert.

Code: Select all

declare -a array

array=( 1 2 3 4 5 6 ) # führt zur korrekten Ausgabe

#dagegen

array=" 1 2 3 4 5 6 " # ganz bestimmt nicht
so damit läuft mein kleiner Passwort-generator recht gut.