technical solution-Shell Scripting Tutorial for Beginners 1 – Introduction unix command tricks from Tech mirrors
A shell script is a computer program designed to be run by the Unix shell, a command-line interpreter. The various dialects of shell scripts are considered to be …
SourceTechmirrors
I always run linux applications manually using the terminal during the development stage. This has helped me immensely as I could see all the messages that were printed on to the linux console. I also had the habit of forgetting to start the Java program once the linux machine reboots. Well how many of you have had that experience? Ohh yes, I forgot to mention that I will be using a compiled java program as an example executable file for this tutorial.
Though this is acceptable for a system that is under development, it is not suitable to run an executable program using a terminal in production environment. So I would go about setting up a cron job to check if the process is running and start it up if it is not, using a shell script. This tutorial will give you an understanding of how to check for a running processes and start the process if not running using a shell script in linux.
Please note that shell script is not the only way to check for a running process or to start a process.
The Shell Script:
So let’s name the file testshellscript.sh
You can use any editor like vi to write shell script.
#!/bin/sh
This is the first line of the shell script. It tells the script which interpreter to refer to. Next let us check for the running process
PROCESSFILE=’ExecutableFile.jar’
if ps ax | grep -v grep | grep $PROCESSFILE > /dev/null
I am assigning the jar file name to a variable named PROCESSFILE and then using the linux command ps to check if the process is running.
then
echo “$PROCESSFILE is running, everything is fine”
else
echo “$PROCESSFILE is not running”
#start the process
/usr/local/jdk/bin/java -jar /opt/$PROCESSFILE > /dev/null 2>&1 &
Fi
If there is a running process, we need not do anything to it. So I am simply echoing a message saying that the Java program is running. And if the Java program is not running, I will attempt to start the Java program. The logic of the conditional statement is as follows:
if process running
then
do nothing
else
start the process / java program
end if
As the example executable file is a jar file I am using bin\java to execute the file. This is almost the same command used in a linux terminal. Only difference is the use of full paths. Also all the outputs are directed to the null device which is a special file that discards all data written to it.
Here is the complete code…
#!/bin/sh
PROCESSFILE=’ExecutableFile.jar’
if ps ax | grep -v grep | grep $PROCESSFILE > /dev/null
then
echo “$PROESSFILE is running, everything is fine”
else
echo “$PROCESSFILE is not running”
#start the process
/usr/local/jdk/bin/java -jar /opt/$PROCESSFILE > /dev/null 2>&1 &
Fi
How do I start learning shell scripting?
Top Free Resources to Learn Shell Scripting
- Learn Shell [Interactive web portal] …
- Shell Scripting Tutorial [Web portal] …
- Shell Scripting – Udemy (Free video course) …
- Bash Shell Scripting – Udemy (Free video course) …
- Bash Academy [online portal with interactive game] …
- Bash Scripting LinkedIn Learning (Free video course)
Is Shell Scripting easy to learn?
The term “shell scripting” gets mentioned often in Linux forums, but many users aren’t familiar with it. Learning this easy and powerful programming method can help you save time, learn the command-line better, and banish tedious file management tasks.
What is shell scripting used for?
A shell script is a program that is used to perform specific tasks. Shell scripts are mostly used to avoid repetitive work. You can write a script to automate a set of instructions to be executed one after the other, instead of typing in the commands one after the other n number of times.
How do you read a shell script?
Basics of Shell Programming
- To get a Linux shell, you need to start a terminal.
- To see what shell you have, run: echo $SHELL.
- In Linux, the dollar sign ($) stands for a shell variable.
- The ‘echo’ command just returns whatever you type in.
- The pipeline instruction (|) comes to rescue, when chaining several commands.
What is the best shell scripting language?
12 Options Considered
Best scripting languages for writing shell scripts | Price | Platforms |
---|---|---|
— Python | – | Windows, Linux, macOS, AIX, IBM i, iOS, z/OS, Solaris, VMS |
— Lua | – | Windows, Mac, Android, Linux |
— Tcl | Free | Windows, Linux, Mac |
— Ruby | – | – |
How long does it take to learn shell scripting?
45 Days
How long does it take to learn shell scripting?
To Learn Shell Scripting Course it Takes 45 Days. If you want to learn how to write shell scripts like a pro, solve real-world problems, or automate repetitive and complex tasks, read on.
Should I learn Python or shell scripting?
Python is the most elegant scripting language, even more than Ruby and Perl. On the other hand, Bash shell programming is actually very excellent in piping out the output of one command into another. Shell Scripting is simple, and it’s not as powerful as python.
Is Shell Scripting a skill?
Ths skills to do these problems come from Chapter 10 in your Unix text. … To succeed in becoming a Web Programmer, you must be able to do all the scripts at the level of the Elementary programming problems given here. You must be able to do most of the Basic scripts.
Why do we prefer shell scripting?
Shell scripts can take input from a user or file and output them to the screen. Whenever you find yourself doing the same task over and over again you should use shell scripting, i.e., repetitive task automation. Creating your own power tools/utilities. Automating command input or entry.
Is Python a shell script?
Python is an interpreter language. It means it executes the code line by line. Python provides a Python Shell, which is used to execute a single Python command and display the result.
What is the difference between Linux and shell scripting?
Linux is an operating system (technically a kernel, but that’s for a more technical discussion) that is similar to Unix in its design. … Unlike Unix, it is free and open-source. Bash and zsh are shells. A shell is a command-line interface (CLI).
What are the types of shells?
Shell Types:
- Bourne shell ( sh)
- Korn shell ( ksh)
- Bourne Again shell ( bash)
- POSIX shell ( sh)
What is the difference between Bash and Shell?
Shell scripting is scripting in any shell, whereas Bash scripting is scripting specifically for Bash. In practice, however, “shell script” and “bash script” are often used interchangeably, unless the shell in question is not Bash.
What is $ in shell script?
$? -The exit status of the last command executed. $0 -The filename of the current script. $# -The number of arguments supplied to a script. … For shell scripts, this is the process ID under which they are executing.
What is the fastest scripting language?
LuaJitLuaJit (Lua) is the fastest scripting language with JIT technology.