A little bit about Shell Scripting
In this tutorial, we are going to discuss a little bit about shell scripting and the basics.
Shell
There are lots of shells are used in the Linux operating system. Bourne Again Shell, C Shell, Korn Shell are some of the shell used in the Linux. All these shell function same jobs but recognize different commands and provide different built-in functions.
Bash: It is the free version of the Bourne shell. Bash is similar to the original but has added features such as command line editing. On Linux system, bash shell is one of the s most widely used. It is used as default login shell in Linux systems and in macOS. It can also be installed on Windows OS.
C shell: It is shell created as an alternative to Bourne shell. The C shell was built mainly for the programmers and which are similar to the C programming language.
Korn shell: The Korn shell is the comprehensive combined version of other major shells. It also was the base for the POSIX Shell standard specifications etc.
Scripting
Usually, shells are the two-sided process, they accept command as the input and execute them. There are thousands of commands available for the command line user, it is not possible to remember them all. So we can use shell scripting it writes a series of command for the shell to execute. It can be useful for executing lengthy and repetitive sequences of commands by combining all into one script. This reduces the effort required by the end user by avoiding repetitive work and automation. It can be used for routine backups and for system monitoring.
A shell script comprises the following elements.
Shell keywords:
if,then,else,elif,fi,case,etc
Shell commands:
Alias,bg,bind,break,builtin,caller,cd,command
Functions:
Functions are nothing but small subroutines or subscripts within a Bash shell script.
Shell variables:
The name of a variable can contain only letters (a to z or A to Z), numbers (0 to 9) or the underscore character (_).
Simple demo of shell scripting using Bash Shell
Below is a small script which will use a variable.
#!/bin/sh
echo “what is your name?”
read name
echo “How do you do, $name?”
read remark
echo “I am $remark too!”
The following shell script will be used for sending email alert when the system is running with low memory.
#!/bin/bash
########################################################################
#Define mail variables
#subject
subject=”Your server memory is running low”
#sending mail as
from=”test@example.com”
#sending mail to
to=”client@example.com”
#send carbon copy to
also_to=”admin@example.com”
# Calculate the free memory size(MB)
free=$(free -mt | grep Total | awk ‘{print $4}’)
#Compare the value with the defined limit
if [[ “$free” -le 100 ]]; then
#Get list of process consuming system memory
ps -eo pid,ppid,cmd,%mem,%cpu –sort=-%mem | head >/tmp/top_proccesses_consuming_memory.txt
file=/tmp/top_proccesses_consuming_memory.txt
# Send notification to the client and admin if memory is below the limit
echo -e “Warning, server memory is running low!\n\nFree memory: $free MB” | mailx -a “$file” -s “$subject” -r “$from” -c “$to” “$also_to”
fi
exit 0
If we have not made the file executable, we cannot able to execute the shell script due to the permission issue. To make the shell script executable we need to give the file executable permission using the following command.
# chmod -x path/to/our/file/backup.sh
Then from a terminal prompt, run the following command.
# ./backup.sh
We have covered many shell features, but we have focused on those features most often used directly on the command line. The shell can be also used0020sto add some features when writing programs.
If you need any further help, please do reach our support department.