Rilasciata Fish Shell 4.6: Miglior Gestione delle Emoji e Maggiore Compatibilità con Bash

Fish Shell, (acronimo di Friendly Interactive Shell) spesso indicata semplicemente come fish, è una shell a riga di comando moderna, progettata per offrire un’esperienza d’uso più intuitiva rispetto alle shell tradizionali come Bash (Bourne Again SHell), Zsh (Z Shell) o Ksh (Korn Shell). Si tratta di un progetto open source, completamente libero, pensato per semplificare la vita sia agli utenti alle prime armi sia a chi utilizza quotidianamente il terminale per lavoro.
Uno degli aspetti che rendono Fish Shell particolarmente interessante è la sua sintassi chiara, accompagnata da un completamento automatico avanzato, una gestione intelligente della cronologia dei comandi e un sistema di configurazione accessibile anche a chi non ha familiarità con script complessi. A differenza di molte altre shell, Fish Shell non richiede la conoscenza di linguaggi di scripting articolati per essere personalizzata, caratteristica che la rende una scelta ideale per chi desidera un ambiente potente ma privo di complicazioni inutili.
Il progetto fish nasce nel 2004 grazie a Axel Liljencrantz, con l’obiettivo di creare una shell che fosse allo stesso tempo potente, semplice da usare e coerente nel comportamento e il 13 febbraio 2005 viene rilasciata la prima versione stabile Fish Shell 1.0. Nel corso degli anni, Fish Shell ha conquistato una comunità sempre più ampia grazie alla sua attenzione all’usabilità e alla produttività, diventando una delle alternative più apprezzate nel panorama delle shell moderne.
La shell era storicamente sviluppata in C++, ma con l’arrivo della versione Fish Shell 4.0 il progetto ha completato una riscrittura totale in Rust. Questa transizione, iniziata con i primi moduli sperimentali e culminata nella piena adozione di Rust con la versione Fish Shell 4.0, ha permesso di ottenere un codice più sicuro, più stabile e più semplice da mantenere. Rust, grazie alla sua gestione rigorosa della memoria e alla sua architettura moderna, rappresenta oggi la base tecnologica dell’intera shell, su cui si fondano tutte le versioni successive della serie 4.x.
Fish Shell è compatibile con la maggior parte delle distribuzioni GNU/Linux, con macOS e con altri sistemi Unix-like, ed è distribuita sotto licenza GNU General Public License versione 2 (GPLv2), come indicato nel repository software ufficiale, una licenza libera che garantisce agli utenti il diritto di utilizzare, modificare e ridistribuire il software.
Il pubblico ideale di Fish Shell è composto da utenti che cercano una shell moderna, veloce e dotata di funzionalità avanzate. È particolarmente apprezzata da sviluppatori, amministratori di sistema e da chi trascorre molte ore al terminale, ma rappresenta anche un’ottima scelta per chi si avvicina per la prima volta al mondo delle shell e desidera un’esperienza più guidata e meno ostica.
La nuova versione Fish Shell 4.6 è stata rilasciata ufficialmente il 28 marzo 2026, mentre la versione stabile precedente, Fish Shell 4.5, risale a poco più di 1 mese fa in febbraio 2026. Questo aggiornamento rappresenta una versione di manutenzione che introduce anche miglioramenti significativi.
Novità in Fish Shell 4.6
Fish Shell 4.6 introduce una serie di miglioramenti mirati a ottimizzare l’esperienza utente e a risolvere problematiche riscontrate nelle versioni precedenti nella gestione delle emoji, nella personalizzazione del prompt e nella compatibilità con la sintassi di Bash. Ecco le novità principali:
Miglior Gestione delle Emoji
Fino alla versione precedente, Fish Shell considerava ogni emoji come un carattere di larghezza 1, il che poteva causare disallineamenti visivi nei terminali moderni, dove le emoji occupano effettivamente uno spazio maggiore. Con la versione 4.6, Fish Shell ha aggiornato la larghezza predefinita delle emoji a 2, in modo che la loro visualizzazione sia corretta e allineata con il resto del testo, evitando così righe spezzate o sovrapposizioni.
Per gli utenti che utilizzano terminali più vecchi o ambienti in cui questa impostazione causa problemi di formattazione, è possibile ripristinare il comportamento precedente impostando manualmente la variabile fish_emoji_width a 1 nella configurazione della shell. In questo modo, le emoji torneranno a essere trattate come caratteri di larghezza 1, garantendo la compatibilità con i terminali meno recenti.
Personalizzazione del Prompt e Integrazione con il Terminal
Il completamento automatico (il pager che mostra i suggerimenti durante la digitazione) ora allinea a sinistra le descrizioni delle colonne, rendendo più semplice e immediata la lettura delle opzioni disponibili. Questo cambiamento elimina la necessità di spostare lo sguardo tra colonne non allineate, migliorando l’efficienza durante l’uso della shell.
Fish Shell 4.6 introduce il supporto per le variabili d’ambiente SHELL_PROMPT_PREFIX, SHELL_PROMPT_SUFFIX e SHELL_WELCOME. Queste variabili permettono a strumenti di sistema, come systemd’s run0, di modificare dinamicamente il prompt della shell o di visualizzare messaggi di benvenuto all’avvio. Ad esempio, è possibile aggiungere un prefisso o un suffisso al prompt, oppure mostrare un messaggio personalizzato ogni volta che si apre una nuova sessione di Fish Shell.
Il comando set_color è stato potenziato per offrire un controllo più granulare sulla formattazione del testo nel terminale. Ora è possibile attivare o disattivare singolarmente stili come:
- Corsivo
- Modalità inversa (testo e sfondo invertiti)
- Sbarrato
- Sottolineato
Inoltre, sono state aggiunte opzioni esplicite per impostare il colore del primo piano (testo) e per resettare la formattazione, garantendo una maggiore flessibilità nella personalizzazione dell’aspetto visivo della shell.
È stato corretto un bug che causava un ritardo all’avvio di Fish Shell su macOS, migliorando la reattività della shell in questo sistema operativo.
Compatibilità con Bash
Fish Shell 4.6 introduce una novità importante per chi proviene da Bash o utilizza script scritti per questa shell: il supporto per la sintassi |&. Questa sintassi, già presente in Bash, permette di reindirizzare sia l’output standard (stdout) che gli errori standard (stderr) di un comando verso un altro comando o un file, in modo semplice e compatto.
Cosa significa nella pratica?
- In Bash, la sintassi
comando1 |& comando2è equivalente acomando1 2>&1 | comando2, ovvero invia sia l’output normale che gli errori al comando successivo. - Fish Shell, fino alla versione 4.5, utilizzava solo la sintassi
comando1 &| comando2per ottenere lo stesso risultato. - Con la versione 4.6, Fish Shell supporta anche
|&, rendendo più immediato il passaggio da Bash a Fish Shell senza dover modificare gli script esistenti.
Questo aggiornamento semplifica la migrazione di script e comandi da Bash a Fish Shell, eliminando la necessità di adattare manualmente la sintassi. Gli utenti che lavorano in ambienti misti o che devono condividere script tra le due shell troveranno Fish Shell 4.6 più compatibile e immediata da utilizzare.
Stabilità e Segnalazione
Fish Shell 4.6 introduce una serie di correzioni e ottimizzazioni che migliorano significativamente la stabilità e l’affidabilità della shell, soprattutto in scenari di utilizzo intensivo o in ambienti complessi.
Uno dei problemi più comuni nelle shell è l’interruzione dell’output durante operazioni come il ridimensionamento del terminale. In Fish Shell 4.6, segnali come SIGWINCH (inviati automaticamente dal sistema operativo quando si ridimensiona la finestra del terminale) non interferiscono più con l’output dei comandi built-in (comandi integrati nella shell). Questo significa che, anche ridimensionando la finestra, l’output dei comandi rimane intatto e leggibile, senza interruzioni o perdite di informazioni.
Inoltre è stato corretto un bug che causava il crash della shell quando si sospendeva una pipeline (una sequenza di comandi collegati tra loro) premendo Ctrl+Z. Ora la shell gestisce correttamente questa operazione, permettendo di sospendere e riprendere le pipeline senza rischi e il comando fish_indent, utilizzato per formattare automaticamente lo script, ora preserva i commenti e le nuove righe che precedono i blocchi di codice delimitati da parentesi graffe ({ }). Questo miglioramento è particolarmente utile per gli sviluppatori, poiché mantiene la leggibilità e la struttura originale del codice, anche dopo la formattazione automatica.
Correzione di Regressioni
Questa versione affronta diverse regressioni presenti nelle versioni precedenti, tra cui:
- Artefatti di ridisegno del prompt.
- Supporto per il colore nella cronologia dei comandi.
- Comportamento corretto della modalità vi.
- Completamento automatico per comandi che iniziano con un trattino.
Riferimenti e Download
Per approfondire tutte le novità introdotte in Fish Shell 4.6, è possibile consultare il changelog (registro delle modifiche) ufficiale.
Fish Shell 4.6 può essere installata tramite i repository software ufficiali delle principali distribuzioni GNU/Linux, che forniscono pacchetti software già pronti e integrati nei rispettivi sistemi di gestione. Per chi preferisce non utilizzare i repository software, sono disponibili binari autonomi per GNU/Linux direttamente nella pagina del repository software GitHub, utili per chi desidera eseguire il programma senza installarlo in modo tradizionale o compilare il codice sorgente.
Le istruzioni dettagliate per l’installazione e la configurazione sono disponibili sul sito ufficiale di Fish Shell. La documentazione completa, inclusi tutorial e guide per la configurazione avanzata, è accessibile alla pagina fishshell.com/docs.
Fonte: https://github.com/fish-shell/fish-shell/releases/tag/4.6.0
Fonte: https://www.phoronix.com/news/Fish-4.6-Released
Fonte: https://linuxiac.com/fish-shell-4-6-brings-better-emoji-handling-bash-compatibility/
Se vuoi sostenermi, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che ho nel mio sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul mio negozio online, quelle mancanti possono essere comunque richieste.
Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!
Hai dubbi o problemi? Ti aiutiamo noi!
Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.
























