Rationale
Bash is Fluid Attacks' main shell.
The main reasons why we chose it over other alternatives are:
- It is Open Source.
- It is POSIX compliant.
- It is one of the most reliable shells out there.
Alternatives
Zsh
- It is Open Source.
- It is a much modern shell.
- It is the default shell for macOS, allowing us to use one shell for everything.
- It is one of the most reliable shells out there.
- It supports many plugins via Oh My Zsh.
- It has better autocompletion support.
- It supports built-in syntax highlighting.
- It provides linters and formatters, increasing code quality.
Zsh looks like a very solid alternative
for pretty much everything that is currently built in Bash, as it provides a middle ground between modernity, flexibility, stability and development experience. Xonsh
- It is Open Source.
- It is a much modern shell.
- It integrates with Python, increasing flexibility and decreasing cognitive load on developers.
- It benefits from the entire Python ecosystem, increasing flexibility.
- It lacks linters and formatters, decreasing code quality.
Xonsh looks like a solid alternative for pretty much everything that is currently built in Bash, as it provides a middle ground between modernity, flexibility and development experience.
Usage
Bash is used by all
AWS EC2 servers, which basically comprise the entirety of Fluid Attacks' infrastructure.