Dopo quasi tre anni di sviluppo, Γ¨ stata pubblicata la nuova versione dell'interprete di comandi GNU Bash 5.3, utilizzato di default nella maggior parte delle distribuzioni. LinuxContemporaneamente, Γ¨ stata rilasciata la libreria readline 8.3, utilizzata in bash per la modifica della riga di comando.
I miglioramenti chiave includono:
- Sono implementate nuove forme di sostituzione dei comandi "${ command; }" e "${|command;}", che consentono di intercettare l'output del comando senza dover creare un processo figlio separato e senza utilizzare pipe senza nome. 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 metodo di ordinamento quando si aggiunge un percorso file. Ad esempio, Γ¨ possibile scegliere di ordinare per nome (GLOBSORT=nome), dimensione (GLOBSORT=dimensione) o data di modifica (GLOBSORT=mtime), e anche definire l'ordinamento diretto (dal piΓΉ piccolo al piΓΉ grande) o inverso (dal piΓΉ grande al piΓΉ piccolo) (ad esempio, con "GLOBSORT=-dimensione" i file piΓΉ grandi verranno visualizzati per primi).
- Il comando integrato "compgen" ora ha un'opzione "-V varname" per salvare le aggiunte generate in una variabile anzichΓ© inviarle all'output standard.
- Γ stata aggiunta l'opzione "-E" al comando integrato "read", che utilizza la libreria readline con le regole di completamento automatico dei costrutti bash durante l'inserimento dei dati.
- Il comando integrato "source" ora ha un'opzione "-p PATH" che consente di sovrascrivere l'elenco di ricerca nei percorsi dei file (viene utilizzato il valore specificato al posto della variabile $PATH).
- Il codice sorgente Γ¨ stato convertito per utilizzare lo standard C23. La possibilitΓ di compilare compilatori in modalitΓ "K&R C" (lo stile corrispondente alla descrizione del linguaggio C nel libro "The C Programming Language" di Kernighan e Ritchie) Γ¨ stata interrotta.
- Il comando integrato "umask" Γ¨ pienamente conforme alle specifiche POSIX.
- Aggiunto un comando caricabile "kv" che genera un array associativo basato su un set di dati in formato chiave-valore.
- Aggiunto il comando caricabile "strptime" che converte una rappresentazione testuale di una data e di un'ora in un tempo epocale (il numero di secondi trascorsi dal 1Β° gennaio 1970).
- Aggiunto un comando caricabile "fltexpr" che consente operazioni aritmetiche in virgola mobile simili al comando let.
- Aggiunta la variabile impostata dinamicamente BASH_MONOSECONDS, che contiene il valore corrente dell'orologio monotono del sistema, che aumenta continuamente, anche quando l'ora cambia nel valore passato.
- In modalitΓ POSIX, i confronti di stringhe nel comando "test" utilizzando gli operatori "<" e ">" vengono ora eseguiti tenendo conto delle impostazioni locali correnti.
- Il comando "bind -x" consente di separare il tasto dal comando da richiamare tramite uno spazio, a patto che la sequenza sia racchiusa tra virgolette doppie.
- La nuova versione di Readline offre un'opzione "search-ignore-case" per la ricerca nella cronologia senza distinzione tra maiuscole e minuscole. Il comando "export-completions" Γ¨ stato aggiunto per esportare i completamenti di parole da elaborare in altri processi. Il comando "execute-named-command" Γ¨ stato aggiunto per eseguire un comando il cui nome Γ¨ ottenuto dal flusso di input standard.
Fonte: opennet.ru
