Top 1K Features Creators Events Podcasts Books Extensions Interviews Blog Explorer CSV

fish

< >

fish, aka friendly interactive shell, is an open source programming language created in 2005 by Axel Liljencrantz and Thorsten Ball.

#109on PLDB 19Years Old 0Repos
Download source code:
git clone https://github.com/fish-shell/fish-shell
Homepage · REPL · Try It Online · Source Code · Blog · Wikipedia · FAQ · Release Notes · Docs

The friendly interactive shell (fish) is a Unix shell that attempts to be more interactive and user-friendly than those with a longer history (i.e. most other Unix shells) or those formulated as function-compatible replacements for the aforementioned (e.g. zsh, the Falstad shell). Read more on Wikipedia...


Example from Riju:
echo "Hello, world!"
Example from hello-world:
#!/usr/bin/env fish echo "Hello World"
Example from Linguist:
function eval -S -d "Evaluate parameters as a command" # If we are in an interactive shell, eval should enable full # job control since it should behave like the real code was # executed. If we don't do this, commands that expect to be # used interactively, like less, wont work using eval. set -l mode if status --is-interactive-job-control set mode interactive else if status --is-full-job-control set mode full else set mode none end end if status --is-interactive status --job-control full end echo "begin; $argv ;end eval2_inner <&3 3<&-" | . 3<&0 set -l res $status status --job-control $mode return $res end
Example from Wikipedia:
string replace --regex '.*?\.(.*)' '$1' a.b.c #b.c string replace --regex '.*\.(.*)' '$1' a.b.c #c string replace --regex '(.*)\..*' '$1' a.b.c #a.b string replace --regex '(.*?)\..*' '$1' a.b.c #a

Language features

Feature Supported Example Token
Strings "Hello world" "
Print() Debugging echo
Line Comments # A comment #
Comments
Semantic Indentation X

- Build the next great programming language · Add · Issues · About · Search · Keywords · Livestreams · Labs · Resources · Acknowledgements

Built with Scroll v154.2.0