shell script

Contributor(s): Christine Allsup

A shell script is a text  that contains a sequence of commands for a UNIX-based . It is called a shell script because it combines a sequence of commands, that would otherwise have to be typed into the keyboard one at a time, into a single script. The shell is the operating system's command-line interface () and interpreter for the set of commands that are used to communicate with the system.

A shell script is usually created for command sequences in which a user has a need to use repeatedly in order to save time. Like other programs, the shell script can contain , comments and subcommands that the shell must follow. Users initiate the sequence of commands in the shell script by simply entering the file name on a command line.

In the  operating system, a shell script is called a . In IBM's mainframe VM operating systems, it's called an EXEC.

How shell scripting works

The basic steps involved with shell scripting are writing the script, making the script accessible to the shell and giving the shell execute permission.

Shell scripts contain text and are written using a , or graphical user interface (). The content of the script is a series of commands in a language that can be interpreted by the shell. Functions that shell scripts support include , variables, if/then/else statements, arrays and shortcuts. Once complete, the file is saved typically with a .txt or .sh extension and in a location that the shell can access.

Types of shells

In Unix and Linux, the two major types of shell scripts are:

  1. Bourne again shells (BASH)- BASH is the default shell for Unix version 7. The character for prompting a bourne again shell is $.
  2. - A C shell is run in a text terminal window and is able to easily read file commands. The character for prompting a C shell is %.

Examples of shell script applications

Using a shell script is most useful for repetitive tasks that may be time consuming to execute by typing one line at a time. A few examples of applications shell scripts can be used for include:

  • Automating the code compiling process.
  • Running a program or creating a program environment.
  • Completing batch
  • Manipulating files.
  • Linking existing programs together.
  • Executing routine backups.
  • Monitoring a system.

Advantages and disadvantages of shell scripts

Shell scripting is meant to be simple and efficient. It uses the same syntax in the script as it would on the shell command line, removing any interpretation issues. Writing code for a shell script is also faster and requires less of learning curve than other programming languages.

However, if there is an error in a shell script, this can prove to be extremely costly if left unnoticed. Additionally, differing platforms associated with shell scripting may not be compatible. Shell scripts can also be slower to execute than individual commands.

This was last updated in September 2019

Continue Reading About shell script

Dig Deeper on Linux servers

Join the conversation

1 comment

Send me notifications when other members comment.

Please create a username to comment.

When has your organization used shell scripts to execute repetitive tasks?

  • Learn how this free PowerShell-based utility digs into your Office 365 security setup and offers guidance for administrators ...

  • Administrators of Office 365 or Azure platforms can benefit from using newer Microsoft software technologies to handle many jobs,...

  • Microsoft's hosting service for DNS domains is an option for organizations with a heavy Azure investment that want the benefits ...

  • Mini PCs are a low-cost hardware alternative to servers that enable organizations to maintain maximum data center features and ...

  • VDI has specific hardware needs that servers hosting other virtualized workloads may not meet. Learn how to gauge VDI hardware ...

  • This year's VMworld conference runs virtually from Sep. 29 to Oct. 1. Read the latest news and announcements about and from the ...

  • The public cloud providers closed the 2010s as one of the dominant forces in IT, but they'll face competition in the 2020s from ...

  • Put your IT team in the best position to succeed with AI. Develop these machine learning skills and see how they translate to the...

  • Get to know AWS cloud networking services for load balancing, traffic routing, content delivery and more with this overview.