90+ Shell Scripting Interview Questions 2022

0
246
90+ Shell Scripting Interview Questions 2022


Shell scripts are applications that comprise instructions to be executed by a shell, which is a command-line interpreter. Long repetitive collection of instructions are compiled right into a single script, thereby largely lowering repetitive work. Shell scripts are used for program execution, file manipulation, and printing textual content. One of the widespread makes use of of shell scripting is to program working techniques of UNIX, Windows, Apple, and so forth. When it involves system stage operations, shell scripting is taken into account as one of many best programming languages.

The first 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 is a helpful shell at the moment. In some Linux techniques, it’s a default shell. Tenex C shell Korn shell, the Bourne-again shell, unique shell are the various kinds of shell. Through this weblog, we’ll study the highest shell scripting interview questions and solutions that may assist you to land your dream job.

Let’s get began.

Career progress 

There are a number of alternatives from many reputed corporations on the planet. According to analysis, Linux Shell Scripting has a market share of about 17. Since 2018, Linux has began to develop its market quickly. According to PayScale, the typical wage for shell scripting talent is $81,951. If you need profession progress in DevOps, System administrator, studying shell scripting interview questions can be an amazing begin.

Daily use Examples of Shell Scripting by System Admins

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

Basic 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 is Linux?

It is a household of open-source Unix working techniques based mostly on the Linux kernel

2. Difference between Linux and Unix?

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

3. What is 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 is an interpreter?

Interpreter interprets this system line by line into machine code.

5. What is a compiler?

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

6. What is a shell?

Shell is a program and command line interpreter. It is an interface between consumer and kernel.

7. What is CLI and GUI?

CLI is a command line interface. This consumer interface permits the consumer to offer instructions to work together with the gadget.

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

8. Why would we use CLI over GUI?

  • CLI provides higher management to the consumer. 
  • CLI is a greatest  possibility 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 is shell scripting?

It is a textual content file which accommodates checklist or collection of command or statements to be executed.

10. What is the default login shell? How to vary it?

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

11. What is the significance of shell scripting?

  • If it is advisable to carry out the identical process repeatedly, you need to use shell scripting 
  • By utilizing shell scripting, you can also make your personal instruments 
  • It may be very helpful for a system admin to automate day by day duties

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

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

13. What is the primary distinction between BASH and DOS?

BASH instructions are case delicate however DOS instructions usually are not case delicate.

14. What are the parts of  Linux?

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

15. What is a root consumer?

It is an admin consumer 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 is LILO?

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

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

  • Bash/Bourne Again Shell: This is the commonest shell obtainable on all Linux and based mostly techniques. It is 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 much like C.
  • KSH or Korn Shell: Korn is a Unix based mostly Shell scripting program, initially based mostly on the Bash Shell Scripting. This shell is kind of superior and it’s a excessive stage programming language.
  • TCSH: There is not any particular full type of TCSH. It is as it’s. TCSH is a sophisticated model of Berkeley Unix C shell. It once more helps C fashion 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:

./script-name-here.sh

Another choice to execute shell script:

sh script-name-here.sh

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

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

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

21. What is interactive and non-interactive shell?

Interactive Shell

/bin/bash and /bin/sh 

Non-interactive shell

/sbin/nologin 

22. What is absolutely the and relative path?

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

Example:

cd  /var/tmp/abrt/

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

Example:

cd .. ,   cd –

23. How to create, learn and delete recordsdata?

The contact command is used for creating recordsdata.
Example:

#contact filename 

The cat command is used for studying recordsdata.
Example:

#cat filename

The rm command is used  for delete a file.
Example:

#rm –f  filename 

24. How to create and delete a listing?

The mkdir command is used for making a listing. 
Example:

# mkdir filename

The rmdir command is used for take away listing 
Example:

#rmdir filename 

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

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

Example:

Suppose we wish create 4 recordsdata then we sort:

#contact filename{1..4}

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

Example:

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

mkdir filename {1..4}

26. What is 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. How to seek out the present shell which you might be utilizing?

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

28. How to seek out an obtainable shell in your system?

Cat /and so forth/shells command is used to seek out obtainable shells in your system.

29. How to create shortcuts in Linux?

To create shortcut “link” command use.

There are two kinds of hyperlink:

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

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

For move 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 is the importance of $#?

It represents the entire variety of arguments handed by string.

33. What is the distinction between $* and $@?

$* contemplate your entire set of positional parameters as a single string, however $@ deal with every quoted argument as a separate argument.

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

“s” bit additionally referred to as “set user id”(SUID) bit. “s” on file causes the method to have the privileges of the proprietor of the file through 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 could be seen by the “set” command.

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

36. What is the distinction between = and ==?

is used for assigning worth to a variable.

== is used for string comparability.

37. What is the usage of a pipe operator? How 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: this can be a mode the place you begin

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

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

39. What is redirection?

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

40. How to seek out the standing of the method?

Ps ux command consumer for discover standing of course of.

41. How to test reminiscence standing?

Free command is helpful for checking reminiscence standing.

42. How to debug a shell script?

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

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

To evaluate the string “test” command is used.

44. What is the distinction between $! and $$?

$! Shows course of id of the method that not too long ago went into background 

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

45. Which command is used to seek out all data of the consumer?

“finger” command reveals all data of customers.

46. Which 4 basic parts of each file system?

Boot block: It accommodates a small program referred to as MBR which hundreds the kernel throughout system boot up.

Super block: Super block accommodates all details about the file system.

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

47. What is 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 a listing of instructions that you just wish to run on a daily schedule, and in addition the identify of the command used to handle that checklist. 

48. How many fields are current in a crontab file?

The 5 fields comprise 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 is used to test the free disk area.
  • du: It is used to test the listing clever disk utilization.
  • dfspace: It is used to test the free disk area when it comes to MB.

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

vi –R <Filename>

52. How to learn the way lengthy the system has been working? 

By utilizing the command “uptime”.

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

We can use ssh to do that: 

ssh username@serverIP -p sshport 

Once 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. How to seek out the entire disk area utilized by a particular consumer? 

du -s /dwelling/username 

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

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

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

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

#!/bin/sh
echo "Hello, $LOGNAME"
echo "Today's date is `date`"
echo "Username is `who i'm`"
echo "Current listing is `pwd`"

60. How to test if a listing exists?

#!/bin/sh
if [ -d $mydir ]
then
echo "Directory exists"
fi

61. Explain 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 accommodates 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. How to Use the sed command to exchange the content material of the file?

if cat fille
ABCD
EFGH
Then O/p must be 
EFGH
ABCD 

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

65. I wish 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 can 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. How to get the third ingredient/column from every line from a file?

#!/bin/sh
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
do
Statement(s) to be executed for each phrase.
carried out

While Loop:

whereas command
do
Statement(s) to be executed if command is true
Done

Until Loop:

till command
do
Statement(s) to be executed till command is true
carried out

68. How to move arguments to a script?

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

Example:

./script.sh  file.txt
cat script.sh
#!bin/bash
Cat $1

69. How to make use of arguments within the script?

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

Example: To transfer file one vacation spot($1) to a different($2)

./transfer.sh file.txt /textual content
cat transfer.sh
#!/bin/bash
mv $1 $2

70. How to get 5rd ingredient from every line from the file?

awk ‘{print $5}’

71. the way to discover course of identify from course of ID?

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

72. How to create alias command in shell?

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

73 . What is the c and b permission subject of the file?

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

74. How to get 5rd ingredient from every line from the file?

awk ‘{print $5}’

75. What is the usage of a shebang line?

Shebang line on the high of every script determines the placement of the engine which is for use to be able to execute the script.

76. How so as to add two strings?

S1=”hi there”
S2=”world”
Let s3=$s1+$s2
Echo $s3

77. How so as to add two integers?

Int1=3
Int2=2
Int3=$int1+$int2
Echo $int3

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

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

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

That line tells which shell to make use of. 

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

grep –c “ABC” filename

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

Output: variable 

82. How to print all array indexes?

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

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

Unset array[3]

84. Write a script to match numbers?

#!/bin/bash
X=10
Y=20
If [ $x –gt $y ]
Then 
Echo “ x is greater than y”
Else 
Echo “y is greater than x”
Fi

85. What are the kinds of permission on the file stage in Shell?

Owner permissions: The permissions granted to a consumer with all of the rights on the root stage.

Group permissions: The permissions granted to a consumer with all of the rights in a specific group.

Other  permissions: The permissions granted to a consumer with all of the rights globally to a file.

#! /bin/bash
# addition
((sum=30+20))
#print
Echo$sum
#! /bin/bash
: ‘
This script calculates squares of 8.
‘
((sq.=8*8))
echo $space

88. Write a script that obtain enter from consumer.

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

89. Write a script utilizing the AND operator.

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

90. Write an instance of OR operator.

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

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

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

#! /bin/bash
Sum=0
For (( counter=1 ; counter<5 ;counter++))
Do
Echo –n “enter your number”
learn n
(( sum+=n))
#echo –n “$counter”
Done 
Printf   “n”
echo  “result is : $ sum”

92. Write an instance of a operate.

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

93. How to ship mail utilizing shell script?

#! /bin/bash
Recipientadmin@instance.com
Subject=”script”
Message=”this mail ship by script”
‘mail –s $subject $recipient <<< $message’

94. Write script to print present date and time.

#! /bin/bash
yr= ‘date +%Y’
month=’date  +%m’
day=’date +%d’
hour=’date +% H’
minute=’date +%M’
second=’date +%S’
echo ‘date’
echo  “current date is :$day-$month=$year”
echo  “current 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 process is extraordinarily complicated, corresponding to whereas writing a payroll processing system or when a excessive diploma of productiveness is required.

What is $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 is the significance of shell scripting?

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

What is 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 help OOP. 

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

If you want to upskill on this area and study extra ideas, try the assorted Free Online Courses supplied by Great Learning Academy.

LEAVE A REPLY

Please enter your comment!
Please enter your name here