|
lunedė 14 maggio 2007 |
Non è il verso di uno strano animale, nè l'incitazione di un fanatico, ma il nome di un interprete di comandi Linux che permette all'utente di comunicare col sistema operativo attraverso una serie di funzioni predefinite, o di eseguire programmi. Per una spiegazione più esauriente ti consiglio di guardare la voce Bash su Wikipedia .
L'ambito di interesse di questo articolo è Linux, ed in particolare la shell Bash.
L'intento di questo articolo è quello di raggruppare una serie di trucchetti/informazioni/chicchette che potrebbero venire utili nel lavoro di tutti i giorni...
P.S.: Il documento sarà in continua evoluzione, per adesso beccati queste poche cose poi ci sarà sempre di più...
Iniziamo!
Indice
Generatore di password
Generatore di password
Questo script genera password casuali di 8 caratteri (ma più avanti vedrai che puoi generarle lunghe a piacere).
#!/bin/bash
# Su macchine un po’ vecchie,
#+ potrebbe essere necessario cambiare l’intestazione in #!/bin/bash2.
#
# Generatore di password casuali per Bash 2.x
#+ di Antek Sawicki <tenox@tenox.tc>,
# che ha generosamente permesso all’autore del documento il suo utilizzo.
#
# ==> Commenti aggiunti dall’autore del libro ==>
MATRICE="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
# ==> La password viene formata con caratteri alfanumerici.
LUNGHEZZA="8"
# ==> Se desiderate passaword più lunghe modificate ’LUNGHEZZA’.
while [ "${n:=1}" -le "$LUNGHEZZA" ]
# ==> Ricordo che := è l’operatore "sostiruzione default".
# ==> Quindi, se ’n’ non è stata inizializzata, viene impostata ad 1.
do
PASS="$PASS${MATRICE:$(($RANDOM%${#MATRICE})):1}"
# ==> Molto intelligente e scaltro.
# ==> Iniziando dall’annidamento più interno...
# ==> ${#MATRICE} restituisce la lunghezza dell’array MATRICE.
# ==> $RANDOM%${#MATRICE} restituisce un numero casuale compreso tra 1
# ==> e [lunghezza di MATRICE] - 1.
# ==> ${MATRICE:$(($RANDOM%${#MATRICE})):1}
# ==> restituisce l’espansione di lunghezza 1 di MATRICE
# ==> partendo da una posizione casuale.
# ==> Vedi la sostituzione di parametro {var:pos:lun},
# ==> con relativi esempi, al Capitolo 9.
# ==> PASS=... aggiunge semplicemente il risultato al precedente
# ==> valore di PASS (concatenamento).
# ==> Per visualizzare tutto questo più chiaramente,
# ==> decommentate la riga seguente
# echo "$PASS"
# ==> e vedrete come viene costruita PASS,
# ==> un carattere alla volta ad ogni iterazione del ciclo.
let n+=1
# ==> Incrementa ’n’ per il passaggio successivo.
done
echo "$PASS" # ==> Oppure, se preferite, redirigetela in un file.
exit 0
Vuoi sapere come si chiama lo script che stai usando?
Usa la variabile $0
Ciclo for
#!/bin/bash
#
# un for da C!
for i in $(seq 1 10); do
echo $i
done
#!/bin/bash
for((i=0; i<10; i++)); do
echo $i
done
|
|
Ultimo aggiornamento ( venerdė 04 aprile 2008 )
|