When not to use scripts
Shell scripts have certain advantages over compiler-based programs, such as C or C++ language. However, Shell scripting has certain limitations as well.
The following are the advantages:
- Scripts are easy to write
- Scripts are quick to start and easy for debugging
- They save the time of development.
- Tasks of administration are automated
- No additional setup or tools are required for developing or testing Shell script
The following are the limitations of Shell scripts:
- Every line in Shell script creates a new process in the operating system. When we execute the compiled program such as C program, it runs as a single process for the complete program.
- Since every command creates a new process, Shell scripts are slow as compared to compiled programs.
- Shell scripts are not suitable if heavy math operations are involved.
- There are Problems with cross-platform portability.
- We cannot use Shell scripts in the following situations when:
- Extensive file operations are required
- We need data structures, such as linked lists or trees
- We need to generate or manipulate graphics or GUIs
- We need direct access to system hardware
- We need a port or socket I/O
- We need to use libraries or interface with legacy code
- Proprietary, closed source applications are used (Shell scripts put the source code right out in the open for the entire world to see)