zufallszeichen ausgeben

Dieses Thema: "zufallszeichen ausgeben" im Forum "Shell-Skripte" wurde erstellt von oyster-manu, 20.07.2004.

  1. #1 oyster-manu, 20.07.2004
    oyster-manu

    oyster-manu toast

    Dabei seit:
    26.06.2003
    Beiträge:
    1.055
    Zustimmungen:
    0
    ich benötige für mein shellscript mehrere zufallszeichen.
    cat /dev/urandom kommt nicht in frage da ich nur EIN zeichen (a-z,0-9) brauche. gibt es keinen befehl der mir eben so ein zeichen ausgibt oder muss ich mir da selber was überlegen?
     
  2. Anzeige

    schau mal hier --> (hier klicken). Viele Antworten inkl. passender Shell-Befehle!
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. etuli

    etuli Betrunken

    Dabei seit:
    12.04.2003
    Beiträge:
    278
    Zustimmungen:
    0
    Code:
    perl -e '$n_ch = ord("z") - ord("a");  $r = rand($n_ch + 10.0); if($r < 10) { $ch = chr($r + ord("0")); } else { $ch = chr($r + ord("a") - 10); } print $ch;'
    
     
  4. #3 oyster-manu, 20.07.2004
    oyster-manu

    oyster-manu toast

    Dabei seit:
    26.06.2003
    Beiträge:
    1.055
    Zustimmungen:
    0
    sei mir nicht böse, aber gibt es da keine bashvariante von? ich fange gerade erst mit shellscripten an und möchte nicht schon bei den ersten schritten perl lernen.
     
  5. #4 h2owasser, 20.07.2004
    h2owasser

    h2owasser Sxe Power User

    Dabei seit:
    07.12.2002
    Beiträge:
    491
    Zustimmungen:
    0
    dd bs=1 cbs=1 count=1 if=/dev/urandom 2> /dev/null

    Wenn du ein beliebiges Zeichen brauchst. Sonst mußt du noch if-Zeugs mit awk, sed co darumbasteln.
     
  6. etuli

    etuli Betrunken

    Dabei seit:
    12.04.2003
    Beiträge:
    278
    Zustimmungen:
    0
    Ist die Frage, ob shell da Sinn macht. Koennte dir sonst noch
    Code:
    echo 'abcdefghijklmnopqrstuvwxyz0123456789' | perl -e '$_=<STDIN>;chomp; print substr( $_, rand( length($_)), 1);'
    
    anbieten, bzw.
    Code:
    perl -e '$_ = "abcdefghijklmnopqrstuvwxyz0123456789"; print substr( $_, rand( length($_)), 1);'
    
    Das waere sicher auch als shell script umsetzbar. Allerdings halt komplizierter.
     
  7. #6 oyster-manu, 21.07.2004
    oyster-manu

    oyster-manu toast

    Dabei seit:
    26.06.2003
    Beiträge:
    1.055
    Zustimmungen:
    0
    ich schreibe mir dieses script nur zum lernen der "shellsprache". sinnvoll ist das script sowieso nicht :)
    hier der code des ganzen scripts:

    Code:
    #!/bin/sh
    
    x=0
    until [ "$x" -gt 100 ]
    do
    	head --bytes=1 /dev/urandom #gibt genau ein zeichen aus /dev/urandom aus
    	x=$(expr $x + 1)
    	echo ""
    done
    ps: wie kann ich die untilschleife beenden indem ich nur die taste "q" drücke?
     
  8. rup

    rup Haudegen

    Dabei seit:
    10.04.2002
    Beiträge:
    627
    Zustimmungen:
    0
    > ps: wie kann ich die untilschleife beenden indem ich nur die taste "q" drücke?

    Das kann die Shell nicht, das geht aber z.B. mit C/C++ und der ncurses Bibliothek
     
  9. etuli

    etuli Betrunken

    Dabei seit:
    12.04.2003
    Beiträge:
    278
    Zustimmungen:
    0
    muesst ueber stty und die standard eingabe gehen, wenn du aus dem canonical in den ungepufferten modus wechselst. Wuerdest in c nichts anderes machen.

    mfg
     
  10. #9 oyster-manu, 22.07.2004
    oyster-manu

    oyster-manu toast

    Dabei seit:
    26.06.2003
    Beiträge:
    1.055
    Zustimmungen:
    0
    ähh... ja... :)

    zurück zum shellscript:
    ich finde dass die zeichen etwas rückartig ausgegeben werden. kann man das vielleicht noch irgendwie flüssiger machen (aber bitte nur shellscript)?
     
  11. cirad

    cirad Jungspund

    Dabei seit:
    07.07.2003
    Beiträge:
    19
    Zustimmungen:
    0
    echo $((RANDOM % 256))
    gibt dir auch eine Zahl zwischen 0 und 255 aus. Nur, falls du sowas mal in Zukunft wieder brauchst. (:
     
Thema:

zufallszeichen ausgeben

Die Seite wird geladen...

zufallszeichen ausgeben - Ähnliche Themen

  1. String auf Konsole ausgeben

    String auf Konsole ausgeben: Hallo zusammen, ich bin auf ein Problem gestoßen dass für mich sehr unverständlich ist, aber vllt übersehe ich auch etwas Offensichtliches. Es...
  2. Dateien auslesen und Daten systematisch angeordnet in Datei ausgeben

    Dateien auslesen und Daten systematisch angeordnet in Datei ausgeben: Guten Abend, ich hätte da mal eine Frage. Bin mir recht sicher, dass es in der Shell funktionieren sollte, aber kenne mich damit kaum aus....
  3. nur mehrfach vorkommende ausdrucke ausgeben

    nur mehrfach vorkommende ausdrucke ausgeben: Hallo, habe eine datei "test" das aus 2 Spalten besteht getrennt mit ">". Wie gebe ich nur die Zeilen aus bei dennen die erste Spalte (also...
  4. Datei einlesen, veränder und ausgeben mit AWK

    Datei einlesen, veränder und ausgeben mit AWK: Hallo, Ich will eine Datei, in der eine Literaturliste steht mit Hilfe von AWK Zeile für Zeile einlesen, dann die Datei so verändern, dass zB....
  5. Eigenen Speicherpfad ausgeben

    Eigenen Speicherpfad ausgeben: Hallo Ich habe ein Script geschrieben, das Dateien in Ordner kopiert. Die Dateien befinden sich direkt im Script (es ist ein .app-File). Ich...