Description #
Fish, short for Friendly Interactive SHell, is a modern Unix shell focused on user-friendliness, interactive features, and out-of-the-box usability. Unlike Bash or Zsh, Fish works great with zero configuration and includes smart suggestions, syntax highlighting, and scripting improvements by default.
History #
Fish was created in 2005 by Axel Liljencrantz to improve the command-line experience without requiring plugins or custom configs. It was designed to be modern, intuitive, and more visually informative than traditional shells. Over the years, it has grown in popularity among developers looking for simplicity and smart tooling.
Key milestones:
- First released in 2005
- Introduced features like autosuggestions and real-time syntax errors
- Became known as the most “batteries-included” shell
- Supported by a strong open-source community
Hello World Code #
echo "Hello, World!"
How to Run #
On systems with Fish installed: #
- Open terminal and type:
fish
Then enter:
echo "Hello, World!"
Make it a script: #
- Save the code as
hello.fish
- Run it with:
fish hello.fish
Key Concepts #
echo
— prints to the terminal- No need for
export
to set environment variables - Autosuggestions based on history
- Syntax highlighting out-of-the-box
- No confusing syntax like
$()
, backticks, or[[ ]]
- Tab completion for commands, paths, git, and more
- Rich scripting language using
if
,for
,function
, etc. - Friendly error messages
- Configurations stored in
~/.config/fish/
- Web-based configuration via
fish_config
Try It Online #
🔗 Fish Web Playground (Repl.it)
🔗 TIO.run – Fish (limited)
🔗 Run Fish in your browser (Katacoda)
Fun Facts #
- Fish was the first shell to include autosuggestions natively
- It doesn’t use POSIX syntax — which makes it easier for beginners but less compatible with bash scripts
fish_config
opens a web UI in your browser to configure your terminal appearance- Widely used in developer dotfile setups
- The community mascot is a literal goldfish