Connect with us

Linux

GNU / Bash 5.1 rilasciato con il nuovo motore di numeri casuali


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à

  1. Ci sono nuovi builtin caricabili mktemp, accept, mkfifo, csv e cut / lcut.
  2. La shell ora espande il numero della cronologia (ad esempio, in PS1) anche se attualmente non sta salvando i comandi nell’elenco della cronologia.
  3. select builtin ora esegue trap se la sua chiamata interna al builtin read viene interrotta da un segnale.
  4. Bash ora consente ai gestori di trap SIGINT di essere eseguiti in modo ricorsivo.
  5. La sostituzione del processo è ora disponibile in modalità posix.
  6. ulimit ha un’opzione -R per segnalare e impostare la risorsa RLIMIT_RTTIME.
  7. 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:


Ti e piaciuto questo articolo?
Supporta il mio lavoro, facendo una donazione!

Click to comment

Leave a Reply

Esegui l'accesso per Commentare.

Di tendenza

Close Popup
Questo sito utilizza i cookie per migliorare servizi ed esperienza dei lettori. Se decidi di continuare la navigazione senza blocchi premi su Accetto, oppure continua tranquillamente la navigazione, nessun dato sulla tua navigazione verrà raccolto.
Close Popup
Privacy Settings saved!
Impostazioni

Quando visiti un sito Web, esso può archiviare o recuperare informazioni sul tuo browser, principalmente sotto forma di cookies. Controlla qui i tuoi servizi di cookie personali.

Questi cookie sono necessari per il funzionamento del sito Web e non possono essere disattivati nei nostri sistemi.

Cookie tecnici
Per utilizzare questo sito web usiamo i seguenti cookie tecnici necessari:
  • wordpress_test_cookie
  • wordpress_logged_in_
  • wordpress_sec
  • swpm_session

Google Adsense
Usiamo la pubblicità di Google solo per mantenere attivi i nostro sito. Con ip anonimizzati.

Rifiuta tutti i Servizi
Save
Accetta tutti i Servizi