Introducing
The Slant team built an AI & it’s awesome
Find the best product instantly
Add to Chrome
Add to Edge
Add to Firefox
Add to Opera
Add to Brave
Add to Safari
Try it now
4.7 star rating
0
What is the best alternative to eltclsh?
Ad
Ad
rc (shell)
All
4
Experiences
Pros
3
Cons
1
Top
Pro
Simple
rc is a very simple and easy to learn shell.
See More
Top
Con
Lacks return statement
rc has no return statement.
See More
Top
Pro
C-like syntax
rc has very C-like syntax, which is very helpful for people who are used to C-like programming languages and will find rc's syntax very enjoyable. For example: for (i in `{seq 1 100}) { echo $i }
See More
Top
Pro
Sane array handling
In rc $array expands to the whole array and if one of the elements of the array has spaces in it, it's still considered one single element after the array variable expansion.
See More
Hide
Get it
here
9
0
fish (Friendly Interactive SHell)
All
18
Experiences
Pros
15
Cons
3
Top
Pro
Auto suggestions
fish suggests commands as you type, based on command history, completions, and valid file paths. As you type commands, you will see a completion offered after the cursor, in a muted gray color (which can be changed with the fish_color_autosuggestion variable). However, you can NEVER turn them off!
See More
Top
Con
Not POSIX compliant
Being POSIX-compliant may be essential to some, but it is not the be-all-and-end-all. Much of the trouble with POSIX-compliant shells is BECAUSE of POSIX, since it captures the poor behavior and syntax that existed. In most cases, POSIX-compliance is a fool's errand since there are significant differences between implementations of even the same shell (e.g., Bash, etc.) on various platforms. Although fish tries not to break POSIX compatibility without a good reason, and despite efforts to implement a compatibility mechanism, you can face some issues if POSIX compatibility is expected/required. Though, enthusiasts fix these cases. For example, add set shell=sh in your .vimrc to solve the issue for vim.
See More
Top
Pro
Excellent documentation
It has a great tutorial. And the official documentation is clear, full of eloquent examples, and to the point.
See More
Top
Con
Doesn't support history expansion ("!!")
Fish has no support for !!, but you can use Oh My Fish shell framework and install bang-bang plugin to have this shortcut in Fish shell. The downside of using bang-bang is that it takes over ones default key bindings, for those that don't use them it should not be an issue but for those that do it is an annoyance to be considered. For sudo !!, this can also be achieved by making this custom function: function sudo if test "$argv" = !! eval command sudo $history[1] else command sudo $argv end end
See More
Top
Pro
Already set up for you
While other shells require a lot of set up to act the way you want them to and to have some useful features, fish works perfectly out of the box. It has all the most widely used features baked in and are there out of the box without having the need to install plugins or tweak any configuration files.
See More
Top
Con
Very slow
Much of the functionality in Fish was not written with performance in mind. However, scripting in a shell is not supposed to be about performance. If you need it, use a full-blown programming environment to get it. Shells are for gluing the high-performance tools together.
See More
Top
Pro
Pretty usable even without plugins
Everything you need from oh-my-zsh is available on default fish, don't need to install any plugins. And even better, fish is smaller than zsh.
See More
Top
Pro
Universal variables
You can define Universal variables, which are shared instantaneously through all running fish sessions and persists through shell restarts.
See More
Top
Pro
Interactive searchable history
Fish has by far the best way to work with history, everything is automatically searchable. It works in the way you expect. No learning required.
See More
Top
Pro
Adding, removing and editing aliases is extremely easy
See More
Top
Pro
Creates completion files from manual pages
Fish_update_completions parses manual pages installed on the system, and attempts to create completion files in the fish configuration directory.
See More
Top
Pro
Fisherman ⚑ A fast, modern plugin manager for fish
Large test coverage, micro-second shell start, compatibility with plugins from other existing frameworks such as Tackle, Oh My Fish and Wahoo, cache system, offline index, the Fishery and other features.
See More
Top
Pro
Intuitive shell expansion in "for" loops
Unlike bash, this won't return you string *.sh if no .sh files are found for filename in *.sh echo "$filename" end
See More
Top
Pro
Less ambiguous lists
Here is a sample. Notice that there are 2 files with spaces in names. ls produces a valid list, and for loop correctly iterated through its values. ➤ for a in (ls); ls -l $a; end -rw-rw-r-- 1 sashka sashka 0 Apr 19 03:16 alma mater.txt -rw-rw-r-- 1 sashka sashka 0 Apr 19 03:16 whatever i want.txt sh scripts tend to be fragile when there are lists containing values with spaces. Also: ➤ echo $PATH /usr/bin /bin /usr/sbin /sbin /usr/local/bin ➤ echo $PATH[1] /usr/bin ➤ echo $PATH[-1] /usr/local/bin
See More
Top
Pro
High portability
Because it needs very little configuration to work properly, you can use Fish everywhere. If you are working on a system you don't usually work, installing Fish from the repository is easy and will give you the same experience as the installation on your own machine without having to drag a dotfile around.
See More
Top
Pro
Auto indentation when creating functions
When writing functions in an interactive shell, it will auto-indent as needed for if, for, function, etc.
See More
Top
Pro
Awesome, consistent, not-confusing sytax
The following, for example: for file in (find . -name "*.foo" -type f) fgrep -H "something" $file echo "hello" $file end | grep -v "hello" Will run the for loop, take all the stdout from it (both the fgrep and echo), and then pipe it through the final grep command.
See More
Top
Pro
Configuration framework for fish shell
Fish community maintains Oh My Fish, which is a shell framework inspired on Oh My Zsh awesome design and name. It offer a lot of beautiful prompt themes and awesome plugins, is lightweight, awesome and very simple to use.
See More
Hide
See All
Experiences
Get it
here
211
27
Xonsh (The Xonsh Shell)
All
5
Experiences
Pros
5
Top
Pro
Easy to understand, Python-like syntax
Xonsh uses a syntax which is a superset of Python 3.4 plus some additional shell primitives. Because of the similarity to Python, which is famously an easy to understand programming language, the syntax of Xonsh is pretty easy to grasp too, even more so for Python programmers.
See More
Top
Pro
Portable
The xonsh shell has AppImage that makes it Linux-portable.
See More
Top
Pro
Extensible
Most parts of xonsh are extensible. You can change tab-completer, prompt, history backend, aliases, functions and pack it to special package (called "xontrib") and put it on Github. The logic are clear and documented well.
See More
Top
Pro
Command history on steroids - including output
Xonsh has one feature that can be considered particularly unique. It stores not just the commands you type, but their output, and doing a search on your history (configurably) can search the output as well.
See More
Top
Pro
Cross platform support
Xonsh has native cross-platform support.
See More
Hide
Get it
here
51
10
zsh
All
14
Experiences
Pros
11
Cons
3
Top
Con
Not fully compatible with bash
There is a small chance you may have a bash script that doesn't work in zsh, although this is very very rare and most developers will never run into any issues.
See More
Top
Pro
Interactive autocompletion
When you start typing a command, you can press the tab key and it will complete the command you started typing. If there are multiple potential commands, you can choose which one to run by simply pressing tab again. Case-insensitive by default, too.
See More
Top
Con
Requires a lot of configuration to be used fully
Zsh requires a lot of tinkering with configuration files and downloading plugins in order to be able to do tasks which other shells may be able to do out of the box.
See More
Top
Pro
Powerful community-driven tools via oh-my-zsh
Oh-my-zsh is a community-driven framework, which helps users with their zsh configuration and plugins. 400 plugins, 200+ themes and auto-updates to always be up to date.
See More
Top
Con
Defaults are unfriendly for a long-time bash user
Expect to find a configuration you like (or use the configuration utility) to set reasonable preferences. Default zsh interaction is different enough to make you stutter through what used to be familiar workflows.
See More
Top
Pro
Autocomplete for options
Zsh intelligently determines if you are trying to complete a file path or an option, and pressing tab after typing - will reliably bring up a list of options.
See More
Top
Pro
Good bash compatibility
Things you've learned using bash will largely apply to zsh. Scripts written in bash will run with little to no modification.
See More
Top
Pro
Safer variable behaviour
Unlike Bash, zsh does not split unquoted variables by default, making it less error-prone.
See More
Top
Pro
Recursive globbing
ls **/*.log for example is supported by ZSH.
See More
Top
Pro
Great install procedure
Zsh will take you through a procedure which is roughly 30 minutes in length before during install. Through this procedure it asks you to set different options and customize the shell the way you want it to. Most of these settings are also found in other shells, but to customize them you have to go dig configuration files while zsh allows you to do it in the beginning.
See More
Top
Pro
Shared histories
If you spend a lot of time in the terminal, most likely you will have several terminal windows open. Zsh has great support for command line histories. The history is unique and shared through all the different instances.
See More
Top
Pro
Smart escaping
Zsh can determine the context of the command you're typing in and determine if it should escape characters if you're typing in a URI.
See More
Top
Pro
Pipe output to a temporary file:
Some programs don't support loading from stdin, but ZSH can store outputs to a temporary file, example: unzip =(curl http://example.com/someZipFile.zip)
See More
Top
Pro
Faster spelling correction
Zsh' s correct (or correctall) is vastly superior to Bash's attempt at spelling correction.
See More
Hide
See All
Experiences
Get it
here
308
43
DASH
All
6
Experiences
Pros
5
Cons
1
Top
Con
Doesn't support all bash features
Dash does not support all bash features, sometimes called 'bashisms' unless explicitly pointed at /bin/sh.
See More
Top
Pro
Fast startup
Dash has a very fast startup, this happens because the shell is started a lot of times during boot and dash minimizes the work it does during this process.
See More
Top
Pro
Low memory usage, which matters a lot in embedded
It is designed to be very lightweight and has no support for shell specific extensions that are not POSIX.
See More
Top
Pro
Default shell on Debian systems
DASH is the default shell for Debian based systems due to it speed, full POSIX compliance and low overhead.
See More
Top
Pro
Full POSIX support
It's fully POSIX compatible, so if your script runs on dash it will probably run on all other shells.
See More
Top
Pro
A perfect clone
It's a clone of the original System V4 Bourne shell.
See More
Hide
Get it
here
23
8
tcsh (shell)
All
3
Experiences
Pros
2
Cons
1
Top
Pro
C-like shell
It's a C-like shell with tenex command-completion feature, which is very convenient.
See More
Top
Con
Limited support online
The support and number of guides and tutorials is rather limited for tcsh online because there are not many people who use it. At least compared to some of the other more popular alternatives.
See More
Top
Pro
Organized documentation
All the documentation that's needed to use tcsh is located in man tcsh instead of being spread on various helper programs.
See More
Hide
Get it
here
17
9
sh
All
3
Experiences
Pros
2
Cons
1
Top
Con
Not suitable for interactive use
The Bourne shell has always been criticized (most notably by Bill Joy, author of csh) as being unfriendly for interactive use. It has no tilde (~) expansion. Limited file test operators. Limited math operators.
See More
Top
Pro
Truely the most broadly available shell
It may not be the best if you want power, but if you want to write a POSIX script that will run everywhere, it's a pretty good choice.
See More
Top
Pro
Most influential Unix shell alongside csh
Bourne shell introduced features such as piping, here documents, command substitution, variables, control structures for condition-testing and looping and filename wildcarding.
See More
Hide
9
7
Built By the Slant team
Find the best product instantly.
4.7 star rating
Add to Chrome
Add to Edge
Add to Firefox
Add to Opera
Add to Brave
Add to Safari
Try it now - it's free
{}
undefined
url next
price drop