Zufälligen String mit einer definierten Länge erzeugen
Aus ConfigWiki
		(Unterschied zwischen Versionen)
		
		
 (Die Seite wurde neu angelegt: Category:BASH * Kann z.B. zum erzeugen eines neuen Passwortes genutzt werden. * Das Bsp.-script prüft: ** ob ein Parameter für die Länge des zu erzeugenden Strin...)  | 
			|||
| (3 dazwischenliegende Versionen von einem Benutzer werden nicht angezeigt) | |||
| Zeile 6: | Zeile 6: | ||
** und dieser kleiner als 1000000 ist (dient gegen Rechnerstress).  | ** und dieser kleiner als 1000000 ist (dient gegen Rechnerstress).  | ||
* Die Standardlänge des Strings ist hier 10 Zeichen.  | * Die Standardlänge des Strings ist hier 10 Zeichen.  | ||
| − | + | <source lang="bash">    | |
  #!/bin/bash  |   #!/bin/bash  | ||
  #  |   #  | ||
| − |   # function   | + |   # function to generate the random string  | 
  #  |   #  | ||
  function randstrg () {  |   function randstrg () {  | ||
| Zeile 26: | Zeile 26: | ||
  #  |   #  | ||
| − |   # ERROR-handling if parameter 1 set, not to big   | + |   # ERROR-handling/checking  | 
| + |  # if parameter 1 is set, it should be not to big and a integer value  | ||
  #  |   #  | ||
  if [ ${1} ]; then  |   if [ ${1} ]; then  | ||
| Zeile 38: | Zeile 39: | ||
  #  |   #  | ||
| − |   #   | + |   # finally start after successful ERROR-handling/checking  | 
  #  |   #  | ||
  strg= randstrg ${1}  |   strg= randstrg ${1}  | ||
  echo $strg  |   echo $strg  | ||
| − | + | </source>  | |
Aktuelle Version vom 20. Dezember 2011, 10:44 Uhr
- Kann z.B. zum erzeugen eines neuen Passwortes genutzt werden.
 -  Das Bsp.-script prüft:
- ob ein Parameter für die Länge des zu erzeugenden Strings übergeben wird,
 - ob dieser ein Integer ist
 - und dieser kleiner als 1000000 ist (dient gegen Rechnerstress).
 
 - Die Standardlänge des Strings ist hier 10 Zeichen.
 
<source lang="bash">
#!/bin/bash
#
# function to generate the random string
#
function randstrg () {
        local strgLength
        local strg
        if [ $1 ]; then
                strgLength=$1
        else
                strgLength=10
        fi
 
        strg=</dev/urandom tr -dc A-Za-z0-9 | head -c $strgLength
        return $strg
}
#
# ERROR-handling/checking
# if parameter 1 is set, it should be not to big and a integer value
#
if [ ${1} ]; then
    if [ ! $(echo "${1}" | grep -E "^[0-9]+$") ] || [ "${1}" -gt 1000000 ]; then
       echo 'wrong 1. parameter ( Must be an INTEGER <= 1000000! )'
       echo 'usage:'
       echo "${0} [ INTEGER ]"
       exit
    fi
fi
#
# finally start after successful ERROR-handling/checking
#
strg= randstrg ${1}
echo $strg
</source>