Bash 5.0 Rilasciato con Nuove Funzionalità

La mailing list ha confermato il rilascio di Bash-5.0 di recente. Ed è emozionante sapere che viene sfornato con nuove funzionalità e variabili.

Bene, se hai utilizzato Bash 4.4.XX, sicuramente amerai la quinta major release di Bash.

La quinta release si concentra sulle nuove variabili di shell e su molte correzioni di bug importanti con una revisione. Introduce anche un paio di nuove funzionalità insieme ad alcune modifiche incompatibili tra bash-4.4 e bash-5.0.

bash-5-0-rilasciato-con-nuove-funzionalita

Che cosa circa le nuove caratteristiche?

La mailing list spiega i bug risolti in questa nuova release:

Questa versione corregge numerosi bug di bash-4.4 e introduce diverse nuove funzionalità. Le più significative correzioni di bug sono una revisione di come nameref  risolve le variabili e un numero di potenziali fuori dei limiti della memoria ed errori scoperti via fuzzing. Esistono numerose modifiche all’espansione di $@ e $* in vari contesti in cui la divisione della parola non viene eseguita per conformarsi a un’interpretazione standard di Posix e ulteriori modifiche per risolvere analoghi casi per la conformità Posix.

Essa introduce anche alcune nuove funzionalità. Secondo le note di rilascio, queste sono le più importanti nuove funzionalità sono diverse nuove variabili di shell:

BASH_ARGV0, EPOCHSECONDS e EPOCHREALTIME. La “cronologia” integrata può rimuovere intervalli di voci della cronologia e comprendere gli argomenti negativi come offset dalla fine dell’elenco cronologico. Esiste un’opzione per consentire alle variabili locali di ereditare il valore di una variabile con lo stesso nome in un ambito precedente. C’è una nuova opzione di shell che, se abilitata, fa sì che la shell tenti di espandere gli indici associativi dell’array una sola volta (questo è un problema quando sono usati nelle espressioni aritmetiche). L’opzione shell ‘Globschirngesl’ è ora abilitata per impostazione predefinita; può essere disattivato per impostazione predefinita al momento della configurazione.

Che cosa circa le modifiche tra Bash-4.4 e Bash-5.0?

L’aggiornamento del registro di cui circa le modifiche incompatibili e supportati readline la versione della storia. Ecco cosa ha detto:

Ci sono alcune modifiche incompatibili tra bash-4.4 e bash-5.0. Le modifiche al modo in cui vengono risolte le variabili del nameref significa che alcuni usi di namerefs si comporteranno in modo diverso, anche se ho provato a minimizzare i problemi di compatibilità.. Per impostazione predefinita, la shell imposta solo il BASH_ARGC e BASH_ARGV all’avvio, se la modalità di debug è attivata;  è stata una svista che è stata impostata incondizionatamente e ha causato problemi di prestazioni quando gli script hanno superato un numero elevato di argomenti..

Bash può essere collegato a una libreria Readline già installata piuttosto che alla versione privata in lib/readline, se lo si desidera.. Solo readline-8.0 e versioni successive sono in grado di fornire tutti i simboli che bash-5.0 richiede, versioni precedenti di libreria Readline non funzioneranno correttamente.

Credo che alcune delle funzioni/variabili aggiunte sono molto utili. Alcuni miei preferiti sono:

  • C’è una nuova (disattivata per impostazione predefinita) opzione della shell per abilitare/disabilitare l’invio della history a syslog in fase di runtime.
  • La shell non impostata automaticamente BASH_ARGC e BASH_ARGV all’avvio, tranne che in modalità di debug, come la documentazione ha sempre detto, ma li crea dinamicamente se uno script si riferisce a loro senza aver attivato la modalità debug.
  • La ‘history’ ora può eliminare degli intervalli di storia utilizzando ‘-d start-end’.
  • Se una shell non interattiva con controllo job abilitato rileva che un lavoro in foreground è morto a causa di SIGINT, agisce come se ricevesse SIGINT.
  • BASH_ARGV0: una nuova variabile che si espande a $0 e imposta $0 in caso di assegnazione.

Per verificare l’elenco completo delle modifiche e funzionalità, consultare la Mailing list post.

Conclusioni

È possibile controllare il vostro attuale versione di Bash usando questo comando:

bash --version

È probabile che Bash 4.4 è installato. Se si desidera ottenere la nuova versione, mi sento di consigliare l’attesa per la vostra distribuzione.

Con Bash-5.0 a disposizione, cosa ne pensate? Stai usando un’alternativa a bash? Se è così, questo aggiornamento cambiare idea?

Fateci sapere i vostri pensieri nei commenti qui sotto.

Source: https://itsfoss.com/bash-5-release/

Potrebbero interessarti anche...

Rispondi

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.