Rilascio della shell Bash 5.3

Dopo quasi tre anni di sviluppo, è stata pubblicata una nuova versione del interprete dei comandi GNU Bash 5.3, utilizzato di default nella maggior parte delle distribuzioni Linux. Contestualmente è stata rilasciata la libreria readline 8.3, utilizzata in bash per la gestione della modifica della riga di comando.

Tra i principali miglioramenti si possono notare:

  • Sono state implementate nuove forme di sostituzione dei comandi «${ command; }» e «${|command;}», che permettono di intercettare l'output del comando senza generare un processo figlio separato e senza utilizzare pipe anonime. I risultati dell'esecuzione del comando vengono restituiti come risultato della sostituzione o scritti nella variabile REPLY.
  • È stata aggiunta una nuova variabile GLOBSORT, che definisce il modo di ordinare durante il completamento del percorso del file. Ad esempio, è possibile scegliere di ordinare per nome (GLOBSORT=name), dimensione (GLOBSORT=size) o data di modifica (GLOBSORT=mtime), e anche stabilire un ordine diretto (dal minore al maggiore) o inverso (dal maggiore al minore) di ordinamento (ad esempio, con «GLOBSORT=-size» verranno mostrati prima i file più grandi).
  • Nella command interna «compgen» è stata aggiunta l'opzione «-V varname» per salvare le completazioni generate in una variabile, invece di stamparle nel flusso standard.
  • Nella command interna «read» è stata aggiunta l'opzione «-E», che utilizza la libreria readline per l'immissione dei dati con regole di completamento automatico per le strutture bash.
  • Nella command interna «source» è stata aggiunta l'opzione «-p PATH», che permette di sovrascrivere l'elenco di ricerca nei percorsi di file (il valore specificato viene utilizzato al posto della variabile $PATH).
  • Il codice sorgente è stato convertito per utilizzare lo standard C23. È stata interrotta la possibilità di compilazione con i compilatori in modalità «K&R C» (stile corrispondente alla descrizione del linguaggio C nel libro «The C Programming Language» di Kernighan e Ritchie).
  • Nella command interna «umask» è stata garantita la piena compatibilità con le specifiche POSIX.
  • È stata aggiunta la command scaricabile «kv», che forma un array associativo basato su un insieme di dati nel formato «chiave valore».
  • È stata aggiunta la command scaricabile «strptime», che trasforma la rappresentazione testuale di una data e ora in tempo epoch (numero di secondi dal 1 gennaio 1970).
  • È stato aggiunto il comando scaricabile «fltexpr», che consente di eseguire operazioni aritmetiche in virgola mobile analogamente al comando let.
  • È stata aggiunta la variabile dinamicamente impostabile BASH_MONOSECONDS, che contiene il valore attuale delle ore monotone di sistema, che aumentano continuamente, anche quando il tempo viene modificato a un valore passato.
  • In modalità POSIX, il confronto delle stringhe nel comando «test», utilizzando gli operatori «», ora avviene tenendo conto della locale corrente.
  • Nel comando «bind -x» è autorizzata la separazione con uno spazio tra il tasto e il comando richiamato, se la sequenza è racchiusa tra virgolette.
  • Nella nuova versione di Readline è stata proposta l'opzione «search-ignore-case» per cercare nella cronologia senza tener conto del case. È stato aggiunto il comando «export-completions» per esportare le opzioni di completamento delle parole da utilizzare in altri processi. È stato aggiunto il comando «execute-named-command» per eseguire un comando il cui nome è stato ottenuto dallo standard input.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster