Understanding Shell Script in Linux Mint and how to use it properly

 

Shell script

Shell scripts are powerful!

Any Admin who has used shell scripts to complete a bunch of tasks on Linux will tell that you should already be using it.  It’s something that even I can’t really understand but know a lot about since I have to install Linux a lot.   Sometimes it can go weeks before I have to use my shell script again or the next day.  It varies from time to time when I will need to use it but it is an admins best friend.   Is shell scripts like python, absolutely but there is something that we should at least explore and understand.   I am going to talk about this and give examples for those who might want to follow along with me as we talk about “What is shell scripts and how can I use them?”.  I am sure this will be a long series maybe a few post here and there but it will be really good for those who might want to learn even more about the world of Linux.

Shell scripts vs python

Let’s at least get this one out of the way, because someone is bound to ask this question.  What’s the difference in shell scripts verses python?  In the short answer not much, but in the long answer the python language is more complex and you can do a lot more with the python did you can do with shell but only to a point.  Each one has it’s own unique qualities and can be used on Linux and Windows.   Although shell scripts can’t be run on exactly, they can be renamed to be batch files (.bat) which is DOS(Directory of System) old system.  Way before Windows we had DOS and way before any GUI interfaces we had to create batch files to load up the system.  If you’re old enough you probably remember autoexec.bat or even the config.sys files that you occasionally had to edit to get to the command prompt.

Shell scripts in Linux

What’s the use of using shell scripts in Linux you might be asking yourself?  It’s very useful to use when there is a problem or need to install a bunch of things that would take longer to install individually.  Shell script basics are really just that like a batch file in DOS and it can do a lot of things from asking a question to installing many different files.   It can rename or remove files, it is also good for cleaning up a directory that might be full of junk files or maybe you want to have a shell script to backup your /home directory.  This is the power of shell scripting in Linux.  Shell script basics can make your life so much easier and better in the long when you finally decide to delve into the Linux system.

Shell scripts If and then

Just like batch files, you can use this in Shell scripting.  If something happens then do this or you can even go farther that by using Else statements also.  You can ask something from the admin like where the file location of a file you want to use.  It can make your life so much simpler and can help keep the Linux system running smoothly.

if [ expression ]
then
statement
fi

You can do so much more with the shell script when you personalize it to what ever you might need.

echo What is the shell script you want to run?
read $FILE
if ! [ +r $FILE ]; then
Echo "Admin permissions are required to run this shell script"
then exit 0

As you can see this can be very useful when you want to get around certain installation situations and needing to install files without prompting.

Here’s a good one for those who might need to do just that:

echo y|sudo apt-get install [apt program]

This will allow you to bypass the yes question when it is asked and you can just create a basic shell script to install the files that you wanting to do like I have from time to time with gaming systems.   If you don’t want to wait around and install them manually this is the best approach for people who might want to multiple programs at once.

Executing the shell script

if you can’t execute the shell script than you haven’t given permissions to execute it in Linux.  You either have edit the properties in Linux, by right clicking on the shell script and clicking on the properties tab.   Then check “Allow executing file as a program” or you can do a command line

chmod 0700 script.sh (only allow owner to run script)
chmod 0755 script.sh (Allow owner users, and groups to run script)

As you can see the chmod command can be very useful in Linux, so take care to use it wisely.   I will talk about even more about shell scripting in the coming days and hopefully provide you with a very powerful script for installing all the gaming and even the drivers that you might need to for your new Linux gaming system.