- To automate the frequently performed operations
- To run sequence of commands as a single command
- Easy to use
- Portable (It can be executed in any Unix-like operating systems without any modifications)
Disadvantages:
- Slow execution speed compared to any programming languages
- A new process launched for almost every shell command executed