Disponibile la shell Bash 5.2

Dopo venti mesi di sviluppo, è stata pubblicata una nuova versione della shell GNU Bash 5.2, utilizzata di default nella maggior parte delle distribuzioni Linux. Allo stesso tempo, è stata rilasciata la libreria readline 8.2, che viene utilizzata in bash per organizzare la modifica della riga di comando.

I miglioramenti chiave includono:

  • Codice riscritto per analizzare i costrutti di sostituzione dei comandi (sostituzione dei comandi, sostituzione dell'output dall'esecuzione di un altro comando, ad esempio "$(comando)" o `comando`). La nuova implementazione utilizza una chiamata ricorsiva al parser bison e presenta un migliore controllo della sintassi e un rilevamento precoce degli errori nei costrutti sostituiti.
  • Analisi ed espansione migliorate degli indici di array. Implementata la possibilità di utilizzare i parametri "@" e "*" nel comando unset integrato per reimpostare una chiave con un determinato valore invece di reimpostare l'intero array.
  • È stata aggiunta una nuova impostazione "patsub_replacement", quando impostata, il carattere "&" nella stringa sostituita viene utilizzato per sostituire la parte della stringa che corrisponde al modello specificato. Per inserire un "&" letterale è necessario evitarlo con una barra rovesciata.
  • Ampliato il numero di situazioni in cui i processi aggiuntivi non vengono biforcati, ad esempio il fork non viene più applicato quando si utilizza "$(
  • Implementato un nuovo framework interno per il calcolo del timer e del timeout.
  • A condizione che sia possibile abilitare in fase di compilazione (configure --enable-alt-array-implementation) un'implementazione alternativa di array ottimizzata per ottenere la massima velocità di accesso al costo di un maggiore consumo di memoria.
  • Utilizzo esteso delle sostituzioni $'...' e $"..." utilizzate nella localizzazione. Aggiunta l'impostazione noexpand_translations e l'opzione di build "configure --enable-translatable-strings" per controllare se il supporto per le sostituzioni localizzabili $"..." è abilitato.
  • Aggiunto e abilitato per impostazione predefinita l'impostazione "globskipdots" per impedire "." e ".." durante l'espansione dei percorsi.

Fonte: opennet.ru

Aggiungi un commento