What is Fish (Friendly Interactive SHell)?

18 ago 2023 2 min di lettura
What is Fish (Friendly Interactive SHell)?
Indice dei contenuti


Fish, or "Friendly Interactive SHell", is a Unix shell designed with a focus on ease of use and interactive use. It was introduced in 2005 and has since gained a following due to its unique features, helpful default settings, and focus on a pleasant user experience.

Main features and characteristics of the fish:

  • Interactive Autocompletes - Fish provides real-time, context-sensitive autosuggestions as you type, helping you anticipate what you might want to enter. This reduces the number of keystrokes required and can speed up command-line tasks.
  • Syntax Highlighting: Unlike most shells, Fish offers syntax highlighting directly from the command line. This means that command keywords, file paths, and even some syntax errors are color-coded, providing visual feedback and potentially catching errors before executing a command.
  • Web-Based Configuration: Fish features a web-based configuration interface, which allows users to change settings, define features, and even choose themes via a web browser. This is a departure from traditional shells that rely primarily on text-based configuration files.
  • No Need to Configure: Fish emphasizes the idea of ​​being fully functional "out of the box" without requiring user configuration to be useful. While users can customize Fish, many appreciate its reasonable default settings.
  • Rich scripting capabilities: While Fish doesn't follow traditional POSIX shell syntax, it does provide an easy-to-understand scripting environment with simple commands and structures. Its scripting syntax is intended to be more readable and consistent than other shells.
  • Integrated Help - Using the help command in Fish launches the documentation in a web browser, providing an easy-to-read and navigate resource for users.
  • Universal Variables - Unlike other shells, when you set a universal variable in Fish, it is automatically shared across all running sessions and persists across restarts.


  • Easy to Use: Features like real-time auto-suggestions, web-based setup, and syntax highlighting make Fish extremely easy to use, especially for beginners.
  • Modern Design - Fish takes a new approach to the command-line interface, making it more accessible and interactive.


  • Non-POSIX Compliant: Fish's scripting syntax differs from the POSIX standard seen in shells such as Bash. This means that you cannot directly run a Bash script in Fish without modification.
  • Learning curve: For users deeply accustomed to Bash or other traditional shells, the transition to Fish's different syntax and scripting features might be difficult at first.


In conclusion, Fish is a modern and interactive shell that focuses on providing a superior user experience. It's particularly suited to those who want a more visually appealing and intuitive command-line interface, although its non-POSIX compliance means some users may need some time to adjust.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.