CL’attuale manutentore di GNU / Bash Chet Ramey ha annunciato l’ultima major release, Bash 5.1, il 7 dicembre 2020. Bash è la shell predefinita su molte distribuzioni Linux ed è popolare tra gli sviluppatori, specialmente quelli che lavorano con contenitori Linux. È la quinta major release di bash. È arrivato con una nuova generazione di numeri casuali migliorata e ha aggiunto una nuova variabile chiamata SRANDOM. Vediamo come installare e utilizzare GNU / BASH 5.1 appena rilasciato su Linux.
Rilasciato GNU / Bash 5.1
Bash è l’acronimo di Bourne Again SHell. È una shell compatibile con sh e incorpora KSH e csh. La nuova versione risolve molti bug in sospeso in bash-5.0 e introduce diverse nuove funzionalità. Il cambiamento più significativo è il ritorno al comportamento di bash v4.4 di non eseguire l’espansione del percorso su una parola che contiene backslash ma non contiene caratteri speciali globbing non quotati.
GNU / Bash 5.1 e il motore numerico andom $ {SRANDOM}
Possiamo creare o generare numeri casuali (sequenza di numeri privi di schemi) sotto Bash usando quanto segue:
echo "$RANDOM" printf "%sn" "$RANDOM"
Ecco il ciclo bash for per testare numeri casuali:
for r in {1..5} do printf "%sn" "$RANDOM" done
Una nuova variabile bash, SRANDOM aggiunta alla versione GNU / Bash-5.1, che ottiene i suoi dati casuali dal motore entropico del sistema e non è allineata e non può essere riseminata per ottenere una sequenza casuale identica. Per esempio:
printf "%sn" "$SRANDOM" echo "$SRANDOM" for r in {1..5}; do printf "%sn" "$SRANDOM"; done
Questa variabile si espande in un numero pseudocasuale a 32 bit ogni volta che viene fatto riferimento. Il generatore di numeri casuali non è lineare sui sistemi che supportano / dev / urandom o arc4random, quindi ogni numero restituito non ha alcuna relazione con i numeri che lo precedono. Il generatore di numeri casuali non può essere inizializzato, quindi le assegnazioni a questa variabile non hanno effetto. Se SRANDOM non è impostato, perde le sue proprietà uniche, anche se viene successivamente ripristinato.
Nuovi incorporati e altre funzionalità
- Ci sono nuovi builtin caricabili mktemp, accept, mkfifo, csv e cut / lcut.
- La shell ora espande il numero della cronologia (ad esempio, in PS1) anche se attualmente non sta salvando i comandi nell’elenco della cronologia.
- select builtin ora esegue trap se la sua chiamata interna al builtin read viene interrotta da un segnale.
- Bash ora consente ai gestori di trap SIGINT di essere eseguiti in modo ricorsivo.
- La sostituzione del processo è ora disponibile in modalità posix.
- ulimit ha un’opzione -R per segnalare e impostare la risorsa RLIMIT_RTTIME.
- La scrittura della cronologia su syslog ora gestisce i messaggi più lunghi della lunghezza massima di syslog scrivendo più messaggi con un numero di sequenza.
Vedi l’elenco dei concorsi qui online
Installazione di GNU / Bash 5.1 su Linux e macOS
Su Arch Linux tutto ciò che devi fare è digitare il seguente comando pacman:# pacman -Syu
Gli utenti macOS modificano o installano bash utilizzando il comando brew:$ brew install bash
Gli utenti Debian bullseye / sid eseguono il comando apt per ottenere l’ultima versione:$ sudo apt update
$ sudo apt upgrade
Una nota sull’installazione del codice sorgente
Prima installa la raccolta del compilatore GNU / GCC secondo il tuo sistema operativo:
Ora prendi il tarball usando il comando wget o scarica un file con curl:$ wget https://ftp.gnu.org/gnu/bash/bash-5.1.tar.gz
Estrarre o estrarre la palla di catrame, eseguire:$ tar xvf bash-5.1.tar.gz
Il modo più semplice per compilare Bash è cd nella directory del codice sorgente utilizzando il comando cd e quindi eseguire:$ cd bash-5.1
$ ./configure
l’annullamento di “configure” richiede del tempo. Durante l’esecuzione, stampa messaggi che indicano quali funzionalità sta verificando. Digita “make” per compilare Bash e creare anche lo script di segnalazione dei bug “bashbug”:$ make
Facoltativamente, digita “make tests” per eseguire la suite di test Bash e quindi digita “make install” per installare “bash” e “bashbug”. Questo installerà anche le pagine di manuale e il file Info:$ sudo make install
Carica la tua nuova bash e controlla la tua versione bash:
bash bash --version echo "$BASH_VERSION"
Avvolgendo
Oltre alla generazione di numeri casuali migliorata e all’aggiunta di una nuova variabile chiamata $ SRANDOM in GNU / Bash 5.1, vediamo molti altri miglioramenti minori. Vai alla homepage del progetto GNU bash per prendere il software più recente.
???? Se ti è piaciuta questa pagina, per favore sostenere il mio lavoro su Patreon o con una donazione.
???? Ottieni i tutorial più recenti su argomenti SysAdmin, Linux / Unix, Open Source e DevOps tramite: