The friendly interactive shell

Software Screenshot:
The friendly interactive shell
Software Details:
Version: 2.1.1
Upload Date: 17 Feb 15
Developer: liljencrantz
Distribution Type: Freeware
Downloads: 0

Rating: nan/5 (Total Votes: 0)

As its name suggests, the friendly interactive shell (also known as fish) is a user-friendly, free and open source interactive UNIX shell specifically designed to be used for its interactiveness and discoverability features. It’s a drop-in replacement for Bash (Bourne shell).

fish’s main goal is to offer a rich set of powerful functionality, including tab-completion, a discoverable and extensive help system, tab-completion of strings with wildcards, and many other attractive functionality that we’ve listed below at a glance.

Features at a glance

The friendly interactive shell is easy to use, search, remember, and discover. It includes a special help command, which allows users to access all of its documentation, syntax highlighting support, smart terminal handling, and support for the internal clipboard function of a GNU/Linux system.

The program is written entirely in the C++ programming language and can be deployed on any distributions of Linux, as well as on other UNIX-like operating systems, such as Mac OS X, BSD or Solaris.

Getting started with fish

Installing the fish-shell on your GNU/Linux distribution proves to be an easy task even for beginners, as you will only have to download the latest version of the application from Softoware, save the archive on your PC and extract its contents using your favorite archive manager.

Then, open a Terminal app and go to the location of the extracted archive files (e.g. cd /home/softoware/fish-2.1.1), where you must run the ‘./configure && make’ command to configure and compile the program, followed by the ‘make install’ command to install it.

What is new in this release:

  • Security fixes:
  • The fish_config web interface now uses an authentication token to protect requests and only responds to requests from the local machine with this token, preventing a remote code execution attack. (closing CVE-2014-2914). #1438
  • psub and funced are no longer vulnerable to attacks which allow local privilege escalation and data tampering (closing CVE-2014-2906 and CVE-2014-3856). #1437
  • fishd uses a secure path for its socket, preventing a local privilege escalation attack (closing CVE-2014-2905). #1436
  • __fish_print_packages is no longer vulnerable to attacks which would allow local privilege escalation and data tampering (closing CVE-2014-3219). #1440
  • Other fixes:
  • fishd now ignores SIGPIPE, fixing crashes using tools like GNU Parallel and which occurred more often as a result of the other fishd changes. #1084 & #1690

What is new in version 2.0.0:

  • Significant Changes:
  • Command substitutions now modify $status #547.
  • Previously the exit status of command substitutions (like (pwd)) was ignored; however now it modifies $status. Furthermore, the set command now only sets $status on failure; it is untouched on success. This allows for the following pattern:
  • if set python_path (which python)
  • ...
  • end
  • Because set does not modify $status on success, the if branch effectively tests whether which succeeded, and if so, whether the set also succeeded.
  • Improvements to $PATH handling.
  • There is a new variable, $fish_user_paths, which can be set universally, and whose contents are appended to $PATH #527
  • /etc/paths and /etc/paths.d are now respected on OS X
  • fish no longer modifies $PATH to find its own binaries
  • Long lines no longer use ellipsis for line breaks, and copy and paste should no longer include a newline even if the line was broken #300
  • New syntax for index ranges (sometimes known as "slices") #212
  • fish now supports an else if statement #134
  • Process and pid completion now works on OS X #129
  • fish is now relocatable, and no longer depends on compiled-in paths #125
  • fish now supports a right prompt (RPROMPT) through the fish_right_prompt function #80
  • fish now uses posix_spawn instead of fork when possible, which is much faster on BSD and OS X #11
  • Other Notable Fixes:
  • Updated VCS completions (darcs, cvs, svn, etc.)
  • Avoid calling getcwd on the main thread, as it can hang #696
  • Control-D (forward delete) no longer stops at a period #667
  • Completions for many new commands
  • fish now respects rxvt's unique keybindings #657
  • xsel is no longer built as part of fish. It will still be invoked if installed separately #633
  • __fish_filter_mime no longer spews #628
  • The --no-execute option to fish no longer falls over when reaching the end of a block #624
  • fish_config knows how to find fish even if it's not in the $PATH #621
  • A leading space now prevents writing to history, as is done in bash and zsh #615
  • Hitting enter after a backslash only goes to a new line if it is followed by whitespace or the end of the line #613
  • printf is now a builtin #611
  • Event handlers should no longer fire if signals are blocked #608
  • set_color is now a builtin #578
  • man page completions are now located in a new generated_completions directory, instead of your completions directory #576
  • tab now clears autosuggestions #561
  • tab completion from within a pair of quotes now attempts to "appropriate" the closing quote #552
  • $EDITOR can now be a list: for example, set EDITOR gvim -f) #541
  • case bodies are now indented #530
  • The profile switch -p no longer crashes #517
  • You can now control-C out of read #516
  • umask is now functional on OS X #515
  • Avoid calling getpwnam on the main thread, as it can hang #512
  • Alt-F or Alt-right-arrow (Option-F or option-right-arrow) now accepts one word of an autosuggestion #435
  • Setting fish as your login shell no longer kills OpenSUSE #367
  • Backslashes now join lines, instead of creating multiple commands #347
  • echo now implements the -e flag to interpret escapes #337
  • When the last token in the user's input contains capital letters, use its case in preference to that of the autosuggestion #335
  • Descriptions now have their own muted color #279
  • Wildcards beginning with a . (for example, ls .*) no longer match . and .. #270
  • Recursive wildcards now handle symlink loops #268
  • You can now delete history items from the fish_config web interface #250
  • The OS X build now weak links wcsdup and wcscasecmp #240
  • fish now saves and restores the process group, which prevents certain processes from being erroneously reported as stopped #197
  • funced now takes an editor option #187
  • Alternating row colors are available in fish pager through fish_pager_color_secondary #186
  • Universal variable values are now stored based on your MAC address, not your hostname #183
  • The caret ^ now only does a stderr redirection if it is the first character of a token, making git users happy #168
  • Autosuggestions will no longer cause line wrapping #167
  • Better handling of Unicode combining characters #155
  • fish SIGHUPs processes more often #138
  • fish no longer causes sudo to ask for a password every time
  • fish behaves better under Midnight Commander #121
  • set -e no longer crashes #100
  • fish now will automatically import history from bash, if there is no fish history #66
  • Backslashed-newlines inside quoted strings now behave more intuitively #52
  • Tab titles should be shown correctly in iTerm2 #47
  • scp remote path completion now sometimes works #42
  • The read builtin no longer shows autosuggestions #29
  • Custom key bindings can now be set via the fish_user_key_bindings function #21
  • All Python scripts now run correctly under both Python 2 and Python 3 #14
  • The "accept autosuggestion" key can now be configured #19
  • Autosuggestions will no longer suggest invalid commands #6

What is new in version 1.23.1:

  • This release contains a long list of fixes for bugs, annoyances, and misfeatures, as well as many new command-specific tab completions.

Requirements:

  • Doxygen
  • Ncurses

Similar Software

Comments to The friendly interactive shell

Comments not found
Add Comment
Turn on images!