Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
bash: Zufällig Elemente einer Liste auswählen ?

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Sonstiges
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Rossi
Gast





BeitragVerfasst am: 26. Mai 2002 20:21   Titel: bash: Zufällig Elemente einer Liste auswählen ?

Moin,

ist es möglich, aus einer Liste zufällig ein Element auszuwählen ?

Im Prinzip möchte ich, das bei jedem Aufruf des Skriptes ein Programm aus einem bestimmten Verzeichnis ausgeführt wird

#!/bin/sh
ls ~/bin > PROGS
PROG=(zufallsgeneriert aus ${PROGS} oder direkt aus `ls`)
~/bin/${PROG}
exit 0
 

Jochen
Gast





BeitragVerfasst am: 26. Mai 2002 21:20   Titel: Re: bash: Zufällig Elemente einer Liste auswählen ?

Die bash macht es einem hier leicht:
code:
PROGRAMS=($(ls ~/bin))
MAX=${#PROGRAMS[*]}
PROGRAM=${PROGRAMS[$((RANDOM % MAX))]}
~/bin/$PROGRAM

Zeile 1 setzt das Array PROGRAMS mit dem Inhalt der Ausgabe von "ls ~/bin". Die Variable MAX erhält die Anzahl Array-Elemente in PROGRAMS und wird in Zeile 3 verwendet, um RANDOM im Bereich von 0 bis MAX-1 zu halten - was exakt den gesetzten Subscripts des Arrays entspricht. RANDOM ist eine Spezialvariable der Shell, die bei jeden Auslesen einen zufälligen Wert zwischen 0 und 32767 besitzt. Das Ergebnis (ein beliebiges Element aus PROGRAMS) muss zum Schluss nur noch gestartet werden.

Ein Tipp zum Stil: Wenn Du Features wie "~" verwendest, schreibe auch in die erste Zeile "#!/bin/bash" und nicht "#!/bin/sh", da die alte Bourne-Shell mit "~" oder auch $(), Arrays, RANDOM, $(()) usw. nix anfangen kann.

Viel Spass noch beim Weiterbasteln!

Jochen
 

Rossi
Gast





BeitragVerfasst am: 26. Mai 2002 23:09   Titel: Re: bash: Zufällig Elemente einer Liste auswählen ?

Super. Tausend dank. Jetzt startet nämlich zufällig mit "startx" ein "xscreensaver" im rootfenster von icewm. Ich liebe "eyecandyness" einfach. Ich hoffe, es stört Dich nicht zu sehr, das ich Deine Fähigkeiten für niederes Gespiel mißbraucht habe ;o)
Ward nu noch bannich tied, dat DRI mit de ole Radeon7500 löpt.
 

Jochen
Gast





BeitragVerfasst am: 26. Mai 2002 23:30   Titel: Re: bash: Zufällig Elemente einer Liste auswählen ?

Och nööö, war 'ne nette Gelegenheit, noch mal Arrays unter bash aufzufrischen... Viel Spass beim Von-der-Arbeit-ablenken-lassen!

Jochen
 

BO
Gast





BeitragVerfasst am: 28. Mai 2002 9:07   Titel: Re: bash: Zufällig Elemente einer Liste auswählen ?

zu DRI mit radeon:

schau mal auf gatos.sf.net vorbei...

funzt zwar mit meinem radeon mobility nicht so wirklich (das ati.2-X-Modul funzt aber prächtig!), aber vielleicht hilfts dir ja...
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Sonstiges Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy