Shell scripting has also been observed to have short comings in its ability to handle resource- intensive operations that demand speed such as in hashing or sorting. Is also manifests

compatibility concerns across varying platforms where C and Java for example are more appropriate languages in terms of application.

Procedures such as floating point arithmetic, which due to nature calls for complex mathematical operations or need to be quite precise in calculation will demand programs such as C++ or FORTRAN as opposed to use of shell scripts.

Where applications are critical due to the nature of the mission such as the future of the company being at stake, use of shell scripting is limited. Shell scripting has been found to be limited too when issues of security are of paramount importance. It does not assure of the system’s integrity as well as assure against vandalism, cracking and intrusion. It is quite challenging to write a quality code and various shell extensions to counter conflicts with the original language prove normally to be futile (Mayer 1989, p.55).

Shell scripting is limited in cases where operations may require data structures for example linked lists or operations that are aimed at graphic generation. In the cases above, Python, Ruby or Perl are more appropriate and effective.

When extensive file operations are to be executed, bash shell scripting is restricted only to serial file access as well as not being able to provide trees or linked lists. In case one needs  multi-dimensional arrays support or  needs to directly access external peripherals or system hardware one should avoid using shell scripts and opt for interpreted languages or example due its limitation in its design flows found in the language syntax.

For each and every executed shell command a new process is always called for making it time consuming consequently slow in executing.

Shell scripting can become limited due to its lack of general programming fertilities such as floating point arithmetic notwithstanding the challenge of getting used to the syntax eg the quoting, tests its interpreter and syntax are quite wanting and can turn out be quite complicated in its maintenance and improvement for many developers.

Shell scripting makes it impossible for its code to be utilized in other scripts. Among shell scripts problems are addressed in a more particular manner and thus re-use can be quite difficult. One advanced such as HTML or HTTP in comparison to modern languages in scripting and programming. Therefore, the man hours used by developers in scripting can become quite a number (Medinets 1999 p. 143).

In the creation of enterprise level software installations, shell scripts are used by developers and this normally creates a conflicts for they are traditionally used by UNIX system administrators in the execution of system tasks automation (Cameron, Newham, & Rosenblatt, 1998) In developing UNIX shell based installations a tar-ball which is a tar achieve paradigm is utilized tar-balls are not user friendly for users as they lack of virtually guided installations as is found in windows applications. Using tar-ball achieve commands such as sed,awk, on a single command when invoked copy in the home directory copies of the entire directory, this is quite the norm when handling simple applications, when  attempting to construct an installation that configures databases or web servers installations that are shell based cannot be applicable in this delivery in this case languages that are more robust are normally used.