Why should one learn the shell?

Advantages

General advantages of Command Line Interfaces compared to Graphical User Interfaces:

  • Robust automation

  • Easy Transition between interactive work/exploration and automation

Advantages of using the Bash shell for scientific research:

  • Working with HPC:

    • Bash scripts are the best way to launch jobs on a supercomputer

    • the shell is the best supported way to interact with a supercomputer

  • Bash scripting helps with Reproducibility which is paramount for scientists

  • it is convenient to call other programs, including the ones from the UNIX ecosystem

  • many built-in features

  • portability

Limitations

For some tasks it might be better to use other tools, because of:

  • obscure syntax

  • focus on interactivity and writability, not on readability and ease of maintenance

  • lack of complex data structures

Moreover, it is unsuitable for:

  • heavy-duty math operations

  • Extensive file operations

But these limitations can be avoided by using programs written in other languages.