90+ Shell Scripting Interview Questions 2022

shell scripting interview questions

Shell scripts are applications that include instructions to be executed by a shell, which is a command-line interpreter. Lengthy repetitive collection of instructions are compiled right into a single script, thereby largely decreasing repetitive work. Shell scripts are used for program execution, file manipulation, and printing textual content. One of many widespread makes use of of shell scripting is to program working methods of UNIX, Home windows, Apple, and so on. With regards to system degree operations, shell scripting is taken into account as one of many best programming languages.

The primary shell was developed by Ken Thompson for UNIX in 1971. In 1977, Bourne shell was created by Stephen Bourne at bell labs for UNIX. It’s a helpful shell at this time. In some Linux methods, it’s a default shell. Tenex C shell Korn shell, the Bourne-again shell, unique shell are the various kinds of shell. By way of this weblog, we’ll be taught the highest shell scripting interview questions and solutions that can enable you land your dream job.

Here’s a record of the generally requested shell scripting interview questions in no specific order.

  1. What’s Linux?
  2. Distinction between Linux and Unix?
  3. What’s a kernel?
  4. What’s an interpreter?
  5. What’s a compiler?
  6. What’s a shell?
  7. What’s CLI and GUI?
  8. Why would we use CLI over GUI?
  9. What’s shell scripting?
  10. What’s the default login shell? Methods to change it?

Let’s get began.

Desk of Contents

Profession progress 

There are a variety of alternatives from many reputed firms on the planet. In accordance with analysis, Linux Shell Scripting has a market share of about 17. Since 2018, Linux has began to increase its market quickly. In accordance with PayScale, the common wage for shell scripting ability is $81,951. If you would like profession progress in DevOps, System administrator, studying shell scripting interview questions can be a fantastic begin.

Day by day use Examples of Shell Scripting by System Admins

  • Monitoring your Linux system.
  • Knowledge backup and creating snapshots.
  • Dumping Oracle or MySQL database for backup.
  • Creating e-mail primarily based alert methods.
  • Discover out what processes are consuming up your system sources.
  • Discover out obtainable and free reminiscence.
  • Discover out all logged in customers and what they’re doing.
  • Discover out if all needed community companies are working or not. For instance if the net server failed then ship an alert to the system administrator through a pager or an e-mail.
  • Discover out all failed login makes an attempt, if login makes an attempt are continued repeatedly from the identical community IP routinely block all these IPs accessing your community/service through firewall.
  • Person administration as per your personal safety insurance policies.
  • Discover out details about native or distant servers.
  • Server configuration.

Primary Shell Scripting Interview Questions

This part of the weblog covers the essential shell scripting interview questions and solutions required so that you can kick-start your journey. If you’re a skilled skilled, you should utilize these inquiries to revise your data.

1. What’s Linux?

It’s a household of open-source Unix working methods primarily based on the Linux kernel. 

2. Distinction between Linux and Unix?

Linux is a clone of UnixLinux default shell is BASH (Bourne Once more Shell) whereas the Unix shell is Bourne Shell.

3. What’s a kernel?

The kernel is a pc program on the core of a pc’s working system that manages operations of pc and {hardware}. 

4. What’s an interpreter?

Interpreter interprets this system line by line into machine code.

5. What’s a compiler?

Compiler scans the entire program and converts it into machine code.

6. What’s a shell?

Shell is a program and command line interpreter. It’s an interface between person and kernel.

7. What’s CLI and GUI?

CLI is a command line interface. This person interface allows the person to offer instructions to work together with the machine.

GUI is a graphical person interface. This person interface allows customers to work together with units with the assistance of graphical icons and visible indicators.

8. Why would we use CLI over GUI?

  • CLI offers higher management to the person. 
  • CLI is a finest  choice for professionals who work on extra programming languages.
  • It  required much less reminiscence as in comparison with GUI. 
  • The velocity of the CLI is quicker than GUI.

9. What’s shell scripting?

It’s a textual content file which comprises record or collection of command or statements to be executed

10. What’s the default login shell? Methods to change it?

/bin/bash is the default login shell. Utilizing the command  “chsh” we will change the default shell.

11. What’s the significance of shell scripting?

  • If it’s essential to carry out the identical activity repeatedly, you need to use shell scripting 
  • By utilizing shell scripting, you can also make your personal instruments 
  • It is vitally helpful for a system admin to automate every day duties

12. What are the assorted phases of the Linux course of?

  • Ready: The method waits for sources
  • Working: The method is at the moment being  executed
  • Cease: The linux course of cease after execution
  • Zombie: The method has stopped however it’s nonetheless energetic in course of desk

13. What’s the major distinction between BASH and DOS?

BASH instructions are case delicate however DOS instructions will not be case delicate.

14. What are the parts of  Linux?

Kernels, shells, GUI, system utilities and utility applications  are parts of Linux.

15. What’s a root person?

It’s an admin person that enables you full management of your system.

16. What are the environmental variables?

Environmental variable management shell operate in addition to different Linux applications.

17. What’s LILO?

LILO is a boot loader utilized in Linux .It’s used to load the working system into major reminiscence to begin its operation.

18. What are the various kinds of generally used shells on a Linux system?

  • Bash/Bourne Once more Shell: That is the commonest shell obtainable on all Linux and primarily based methods. It’s open supply and freeware.
  • CSH or C Shell: This Shell scripting program makes use of the C programming’s shell syntax and it’s virtually just like C.
  • KSH or Korn Shell: Korn is a Unix primarily based Shell scripting program, initially primarily based on the Bash Shell Scripting. This shell is kind of superior and it’s a excessive degree programming language.
  • TCSH: There isn’t any particular full type of TCSH. It’s as it’s. TCSH is a complicated model of Berkeley Unix C shell. It once more helps C type syntax.

19. Which command is used to execute a shell file?

First Set execute permission in your script utilizing chmod command:

chmod +x script-name-here.sh

To run your script:


One other choice to execute shell script:

sh script-name-here.sh

20. Identify of Editors which can be found in virtually all UNIX?

  • vi/vim 
  • Gedit
  • VSCode
  • Nano
  • Elegant
  • Atom
  • GNU emacs
  • Brackets

This part covers shell scripting interview questions for the intermediate degree and can enable you attend your upcoming interviews with confidence.

21. What’s interactive and non-interactive shell?

Interactive Shell

/bin/bash and /bin/sh 

Non-interactive shell


22. What’s the absolute and relative path?

Absolute path is the complete path of the listing. It at all times begins with “/” .


cd  /var/tmp/abrt/

Relative path is critical from present location to succeed in specific listing doesn’t begin with “/”.


cd .. ,   cd –

23. Methods to create, learn and delete recordsdata?

The contact command is used for creating recordsdata.

#contact filename 

The cat command is used for studying recordsdata.

#cat filename

The rm command is used  for delete a file.

#rm –f  filename 

24. Methods to create and delete a listing?

The mkdir command is used for making a listing. 

# mkdir filename

The rmdir command is used for take away listing 

#rmdir filename 

25. Methods to create a number of textual content recordsdata and directories?

To create a number of textual content file contact file identify {} command is used. 


Suppose we would like create 4 recordsdata then we sort:

#contact filename{1..4}

To create a number of listing mkdir filename {} command is used.


Suppose we need to create 4 listing, then we sort:

mkdir filename {1..4}

26. What’s the usage of head and tail command?

Head command is used for show began 10 strains

Tail command is used for show began 10 strains

27. Methods to discover the present shell which you might be utilizing?

$echo $SHELL command is used for discover present shell.

28. Methods to discover an obtainable shell in your system?

Cat /and so on/shells command is used to search out obtainable shells in your system.

29. Methods to create shortcuts in Linux?

To create shortcut “hyperlink” command use.

There are two sorts of hyperlink:

Deleting the unique file doesn’t have an effect on the exhausting hyperlink however Deleting the unique file makes the tender hyperlink inactive.

31. How will you cross and entry arguments to a script in Linux?

For cross arguments in script “scriptname arg1 arg2 arg3 …” 

For entry arguments in script could be accessed contained in the script as “$1 , $2 .. $n”

32. What’s the significance of $#?

It represents the whole variety of arguments handed by string.

33. What’s the distinction between $* and [email protected]?

$* think about the complete set of positional parameters as a single string, however [email protected] deal with every quoted argument as a separate argument.

34. Clarify “s” permission bit in a file? 

“s” bit additionally known as “set person id”(SUID) bit. “s” on file causes the method to have the privileges of the proprietor of the file throughout the occasion of this system.

35. What are the various kinds of variables utilized in Shell Script?

System outlined variable: System outlined variable created by os itself. These variables are usually outlined in capital letters. It may be seen by the “set” command.

Person outlined variable: It created by system customers. Worth of variable could be view through the use of “echo $variablename” command.

36. What’s the distinction between = and ==?

is used for assigning worth to a variable.

== is used for string comparability.

37. What’s the usage of a pipe operator? Methods to execute a number of instructions in a single line?

The pipe operator is used for one after the other execution of command however instructions shouldn’t be depending on one another.

38. What are the completely different modes of vi editors?

Command mode: it is a mode the place you begin

Edit mode: This mode means that you can do subsequent enhancing.

Ex mode: On this mode you work together with vi with instruction to course of

39. What’s redirection?

Redirection is the method of course knowledge from one output to a different.

40. Methods to discover the standing of the method?

Ps ux command person for discover standing of course of.

41. Methods to test reminiscence standing?

Free command is beneficial for checking reminiscence standing.

42. Methods to debug a shell script?

To debug a shell script we execute the script with the “-x” or “-nv”  choice.

43. Which command is used for evaluating the string within the shell script?

To match the string “check” command is used.

44. What’s the distinction between $! and $$?

$! Reveals course of id of the method that just lately went into background 

$$  offers the method id of the at the moment executing course of

45. Which command is used to search out all data of the person?

“finger” command exhibits all data of customers.

46. Which 4 elementary parts of each file system?

Boot block: It comprises a small program known as MBR which masses the kernel throughout system boot up.

Tremendous block: Tremendous block comprises all details about the file system.

Inode block: It comprises inode for each file of the file system.

47. What’s the Crontab?

Crontab stands for cron desk as a result of it makes use of the job scheduler cron to execute duties. The crontab is an inventory of instructions that you just need to run on a daily schedule, and likewise the identify of the command used to handle that record. 

48. What number of fields are current in a crontab file?

The 5 fields include data on when to execute the command.

  • minute(0-59)
  • hour(0-23)
  • day(1-31) 
  • month(1-12)
  • day of the week(0-6, Sunday = 0).

49. What are the 2 recordsdata of crontab command?

cron.permit which decides the customers should be permitted for utilizing the crontab command.

cron.deny which decides the customers should be prevented from utilizing the crontab command

50. What are the completely different instructions obtainable to test the disk utilization?

  • df: It’s used to test the free disk house.
  • du: It’s used to test the listing sensible disk utilization.
  • dfspace: It’s used to test the free disk house when it comes to MB.

51.  Methods to open a read-only file within the Shell?

vi –R <Filename>

52. Methods to learn how lengthy the system has been working? 

By utilizing the command “uptime”.

53. How to connect with a distant server and execute some instructions?

We will use ssh to do that: 

ssh [email protected] -p sshport 

As soon as the above command is executed, enter the password.

54. How to connect with a database server from Linux? 

mysql –S serverName –U username –P password

55. How can I set the default permission to all customers on each file which is created within the present shell? 

umask 777

56. How will I insert a line “ABCD” at each 50th line of a file? 

sed  '50iABCD' filename 

57. Methods to discover the whole disk house utilized by a selected person? 

du -s /dwelling/username 

58. Methods to print the login names of all customers on a system? 

/and so on/shadow file has all of the customers listed. 

awk –F ':' '{print $1}' /and so on/shadow|uniq –u

59. Write a shell script to get present date, time, username and present working listing.

echo "Hiya, $LOGNAME"
echo "As we speak's date is `date`"
echo "Username is `who i'm`"
echo "Present listing is `pwd`"

60. Methods to test if a listing exists?

if [ -d $mydir ]
echo "Listing exists"

61. Clarify the file permissions.

r – learn 4

w – write 2

e – execute 1

62. Given a file, change all prevalence of phrase “ABC” with “DEF” from 10th line until finish in solely these strains that comprises phrase “MNO” 

sed –n '10,$p' file1|sed '/MNO/s/ABC/DEF/'

63. How will you discover the 19th line of a file utilizing solely tail and head command? 

tail +19 file1|head -1 

64. Methods to Use the sed command to interchange the content material of the file?

if cat fille
Then O/p ought to be 

sed '1! G; h;$!d' file1

65. I need to create a listing such that anybody within the group can create a file and entry any particular person’s file in it however none ought to have the ability to delete a file apart from the one created by himself. 

We will create the listing giving learn and execute entry to everybody within the group and setting its sticky bit “t” on as follows: 

mkdir direc1
chmod g+wx direc1
chmod +t direc1

66. Methods to get the third component/column from every line from a file?

awk '{print $3}' $1

67. Write down the Syntax for all of the loops in Shell Scripting.

For Loop:

for var in word1 word2 ... wordn
Assertion(s) to be executed for each phrase.

Whereas Loop:

whereas command
Assertion(s) to be executed if command is true

Till Loop:

till command
Assertion(s) to be executed till command is true

68. Methods to cross arguments to a script?

./script argument  used for handed argument to a script.


./script.sh  file.txt
cat script.sh
Cat $1

69. Methods to use arguments within the script?

Within the script we use first argument as $1 and second argument as $2 

Instance: To maneuver file one vacation spot($1) to a different($2)

./transfer.sh file.txt /textual content
cat transfer.sh
mv $1 $2

70. Methods to get 5rd component from every line from the file?

awk ‘{print $5}’

71. how one can discover course of identify from course of ID?

“ps –p pid” command used to search out the method identify.

72. Methods to create alias command in shell?

Alias identify = ”command whose alias to be created”.

73 . What’s the c and b permission discipline of the file?

C specifies whether or not the file is character particular file or block particular file.

74. Methods to get 5rd component from every line from the file?

awk ‘{print $5}’

75. What’s the usage of a shebang line?

Shebang line on the prime of every script determines the situation of the engine which is for use so as to execute the script.

76. Methods to add two strings?

Let s3=$s1+$s2
Echo $s3

77. Methods to add two integers?

Echo $int3

78. Write a script to test if a file exists on the system?

If [-f /var/www/html]
Echo “file exists”

79. Why #!/bin/sh or #!/bin/bash firstly of each script?

That line tells which shell to make use of. 

80. From given file identify discover the depend of strains containing phrase  “ABC”

grep –c “ABC” filename

81. What can be the output of command: echo ${new:-variable}

Output: variable 

82. Methods to print all array indexes?

echo ${!array[@]} used to print all array indexes.

83. Methods to take away components from an array with id 3?

Unset array[3]

84. Write a script to match numbers?

If [ $x –gt $y ]
Echo “ x is larger than y”
Echo “y is larger than x”

85. What are the sorts of permission on the file degree in Shell?

Proprietor permissions: The permissions granted to a person with all of the rights on the root degree.

Group permissions: The permissions granted to a person with all of the rights in a selected group.

Different  permissions: The permissions granted to a person with all of the rights globally to a file.

86. How  to make use of feedback in shell scripting?

#! /bin/bash
# addition

87. Methods to use multi-line feedback in shell scripting?

#! /bin/bash
: ‘
This script calculates squares of 8.
echo $space

88. Write a script that obtain enter from person.

#! /bin/bash
Echo  –n  “enter enter:”
learn enter
echo “ you entered: $enter”

89. Write a script utilizing the AND operator.

#! /bin/bash
Echo –n “enter quantity:”
learn quantity
if  [[ ($number  –lt 10 )  && ($number%2  –eq  0)]]
echo  “even quantity”
echo “odd quantity”

90. Write an instance of OR operator.

#! /bin/bash
Echo –n “enter any quantity : “
learn n
if  [[ ( $n –eq 10 || $n  -eq 45) ]]
echo “ you win”

else  “ you misplaced!”
instance of elif 
#! /bin/bash
Echo –n “enter quantity :”
learn quantity 
if  [[ $number  -gt 10]]
echo “quantity  is larger than 10”
elif  [[ $num –eq 10 ]]
echo ‘quantity is the same as 10”
echo “ quantity  is lower than 10”

91. Write a script for including a number of values.

#! /bin/bash
For (( counter=1 ; counter<5 ;counter++))
Echo –n “enter your quantity”
learn n
(( sum+=n))
#echo –n “$counter”
Printf   “n”
echo  “result's : $ sum”

92. Write an instance of a operate.

#! /bin/bash 
Perform Add()
echo  –n “enter quantity:”
learn a
echo  –n  “enter 2nd quantity :”
learn b
echo “addition  is: $((  a+b ))”

93. Methods to ship mail utilizing shell script?

#! /bin/bash
[email protected]
Message=”this mail ship by script”
‘mail –s $topic $recipient <<< $message’

94. Write script to print present date and time.

#! /bin/bash
12 months= ‘date +%Y’
month=’date  +%m’
day=’date +%d’
hour=’date +% H’
minute=’date +%M’
second=’date +%S’
echo ‘date’
echo  “present date is :$day-$month=$12 months”
echo  “present time is :$hour:$minute:$second”

Shell Scripting FAQs

When ought to shell programming scripting not be used?

Shell programming scripting shouldn’t be used if a activity is extraordinarily complicated, reminiscent of whereas writing a payroll processing system or when a excessive diploma of productiveness is required.

What’s $1 and $2 in shell script?

In shell scripting, $1 refers back to the first argument or filename1, $2 refers back to the second argument. 

What’s the significance of shell scripting?

Shell scripting is extraordinarily useful on the subject of decreasing repetitive duties which can be time consuming and should be executed by typing one line at a time. It may be used to automate the code compiling course of, making a program surroundings, working a program, and far more. 

What’s Z in bash?

The -z flag parameter in bash is useful to test whether or not the size of a variable is zero and returns true whether it is zero. 

Is bash a OOP?

No, Bash is a scripting language and doesn’t assist OOP. 

This brings us to the top of the weblog on shell scripting interview questions. We hope that you just have been in a position to profit from this weblog on shell scripting interview questions and at the moment are better-equipped to attend your upcoming interviews.

When you want to upskill on this area and be taught extra ideas, take a look at the assorted Free On-line Programs provided by Nice Studying Academy.

Leave a Reply