Software: fish shell
Need: interactive shell
Other programs I’ve tried: bash, sh, rc
fish is pretty good as an interactive shell. It has a quite intuitive search and excellent tab completion (e.g. including tab completion previews). The language is much simpler than bash, but less prone to weird substitution errors. fish is configurable, but I suspect that its package environment is not as extensive as for zsh. fish recently had a breaking language change which screwed up a couple of scripts I had written. I wish someone would write an rlwrap equivalent with the user interface and feel of fish.
Software: rc
Need: scripting shell
Other programs I’ve tried: bash, sh, fish
rc does a couple of things very right. It’s a new spin on the classic unix shell, its main advantage being the cleaned up syntax, e.g. for handling variable substitution around strings (it doesn’t do any substitution inside of strings), its handling of lists and basic control structures. It is best used conjunction with Plan 9/9front (e.g. the return value of a command being a string), but even on POSIX systems it fits my use cases nicely.
Advantages over bash/sh: Simpler syntax, variable substitution cleaner, nicer control structures.
Disadvantages to bash/sh: Fewer packages/extensions/libraries (?), not available by default on any system
Disadvantages to fish: Interactive usage is less fluid, can’t be extended much further
Software: fish shell
Need: interactive shell
Other programs I’ve tried: bash, sh, rc
fish is pretty good as an interactive shell. It has a quite intuitive search and excellent tab completion (e.g. including tab completion previews). The language is much simpler than bash, but less prone to weird substitution errors. fish is configurable, but I suspect that its package environment is not as extensive as for zsh. fish recently had a breaking language change which screwed up a couple of scripts I had written. I wish someone would write an rlwrap equivalent with the user interface and feel of fish.
Software: rc
Need: scripting shell
Other programs I’ve tried: bash, sh, fish
rc does a couple of things very right. It’s a new spin on the classic unix shell, its main advantage being the cleaned up syntax, e.g. for handling variable substitution around strings (it doesn’t do any substitution inside of strings), its handling of lists and basic control structures. It is best used conjunction with Plan 9/9front (e.g. the return value of a command being a string), but even on POSIX systems it fits my use cases nicely.
Advantages over bash/sh: Simpler syntax, variable substitution cleaner, nicer control structures. Disadvantages to bash/sh: Fewer packages/extensions/libraries (?), not available by default on any system
Disadvantages to fish: Interactive usage is less fluid, can’t be extended much further