shfmt VS fish-shell

Compare shfmt vs fish-shell and see what are their differences.

shfmt

A shell formatter (sh/bash/mksh) (by patrickvane)

fish-shell

The user-friendly command line shell. (by fish-shell)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
shfmt fish-shell
2 320
84 24,502
- 1.7%
0.0 9.9
30 days ago 7 days ago
Go Rust
BSD 3-clause "New" or "Revised" License GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

shfmt

Posts with mentions or reviews of shfmt. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-04-21.
  • Bash Defaults Not Working Like Atom?
    1 project | /r/pulsaredit | 21 Feb 2023
    Format-Shell is working, but I had to install shfmt manually: https://github.com/patrickvane/shfmt/releases/tag/master. Only one issue is that they don't offer native MacOSX for Silicon, but maybe that's not an issue
  • similar to shellcheck?
    5 projects | /r/bash | 21 Apr 2022
    There are also: - shfmt - sh - bash language server - bashate

fish-shell

Posts with mentions or reviews of fish-shell. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-22.
  • FAQ on the xz-utils backdoor – via a project dev
    1 project | news.ycombinator.com | 29 Mar 2024
    Reminds of the note at the bottom of Fish's releases. It's there because the build system cannot determine the current version for some reason. Hopefully that will go away now that they have switched to a different language / build system. The custom tarball is used by Arch Linux at the very least.

    https://github.com/fish-shell/fish-shell/releases/tag/3.7.1

    https://github.com/fish-shell/fish-shell/issues/7772#issueco...

    https://gitlab.archlinux.org/archlinux/packaging/packages/fi...

  • Oh My Zsh
    19 projects | news.ycombinator.com | 22 Jan 2024
  • Proposal for porting fish-shell from C++ to Rust
    1 project | news.ycombinator.com | 17 Jan 2024
  • Converting the Kernel to C++
    3 projects | news.ycombinator.com | 10 Jan 2024
    A recent practical example of the former: the fish shell re-wrote incrementally from C++ to Rust, and is almost finished https://github.com/fish-shell/fish-shell/discussions/10123

    An example of the latter: c2rust, which is a work in progress but is very impressive https://github.com/immunant/c2rust

    It currently translates into unsafe Rust, but the strategy is to separate the "compile C to unsafe Rust" steps and the "compile unsafe Rust to safe Rust" steps. As I see it, as it makes the overall task simpler, allows for more user freedom, and makes the latter potentially useful even for non-transpiled code. https://immunant.com/blog/2023/03/lifting/

  • Fish shell 3.7.0: last release branch before the full Rust rewrite
    9 projects | news.ycombinator.com | 1 Jan 2024
    And this discussion from November has an update on the progress: https://github.com/fish-shell/fish-shell/discussions/10123
  • Day 5 - More or less...
    3 projects | /r/linuxupskillchallenge | 7 Dec 2023
    We're using bash as our terminal shell for now (it is standard in many distros) but it is not the only one out there. If you want to test out zsh, fish or oh-my-zsh, you will see that there are a few differences and the features are usually the main differentiator. Try that, poke around.
  • Fish – Update on the Rust Port
    1 project | /r/patient_hackernews | 28 Nov 2023
    1 project | /r/hackernews | 28 Nov 2023
    7 projects | news.ycombinator.com | 26 Nov 2023
    They have a variety of reasons to move to rust, as outlined in their original rust discussion[1]. Mostly around finding other contributors, and adding an async/parallel mode they're comfortable with.

    [1] https://github.com/fish-shell/fish-shell/pull/9512

  • Devuan アップグレード: 4 から 5 Daedalus へ
    3 projects | dev.to | 4 Sep 2023

What are some alternatives?

When comparing shfmt and fish-shell you can also consider the following projects:

ShellCheck - ShellCheck, a static analysis tool for shell scripts

powerlevel10k - A Zsh theme

shellharden - The corrective bash syntax highlighter

starship - ☄🌌️ The minimal, blazing-fast, and infinitely customizable prompt for any shell!

neoformat - :sparkles: A (Neo)vim plugin for formatting code.

nushell - A new type of shell

ale - Check syntax in Vim/Neovim asynchronously and fix files, with Language Server Protocol (LSP) support

oh-my-fish - The Fish Shell Framework

vscode-bash-debug - Bash shell debugger extension for VSCode (based on bashdb)

xonsh - :shell: Python-powered, cross-platform, Unix-gazing shell.

bash-language-server - A language server for Bash

tokyonight.nvim - 🏙 A clean, dark Neovim theme written in Lua, with support for lsp, treesitter and lots of plugins. Includes additional themes for Kitty, Alacritty, iTerm and Fish.