Zufälligen String mit einer definierten Länge erzeugen
Aus ConfigWiki
(Unterschied zwischen Versionen)
| (Eine dazwischenliegende Version von einem Benutzer wird nicht angezeigt) | |||
| Zeile 10: | Zeile 10: | ||
# | # | ||
| − | # function | + | # function to generate the random string |
# | # | ||
function randstrg () { | function randstrg () { | ||
| Zeile 26: | Zeile 26: | ||
# | # | ||
| − | # ERROR-handling if parameter 1 is set, it should be not to big and a integer value | + | # 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> | </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>