Linux Shell Scripting Interview Questions and Answers

by sonia, on May 20, 2017 1:39:38 PM

Linux Shell Scripting Interview Questions and Answers

Q1. How to pass argument to a script ?

Ans.  ./script argument
Example : Script will show filename
./ file1.txt
cat $1

Q2. How to use argument in a script ?

First argument: $1,

Second argument : $2
Example : Script will copy file (arg1) to destination (arg2)
./ file1.txt /tmp/
cp $1 $2

Q3. How to calculate number of passed arguments ?

Ans. $#

Q4. How to get script name inside a script ?

Ans. $0

Q5. How to check if previous command run successful ?

Ans. $?

Q6. How to get last line from a file ?

Ans. tail -1

Q7. How to get first line from a file ?

Ans. head -1

Q8. How to get 3rd element from each line from a file ?

Ans. awk '{print $3}'

Q9. How to get 2nd element from each line from a file, if first equal FIND

Ans. awk '{ if ($1 == "FIND") print $2}'

Q10. How to debug bash script

Ans. Add -xv to #!/bin/bash
#!/bin/bash –xv

Q11. Give an example how to write function ?

Ans. function example {
echo "Hello world!"

Q12. How to add string to string ?

Ans. V1="Hello"
let V3=$V1+$V2
echo $V3

Q13. How to add two integers ?

Ans. V1=1
echo $V3
Remember you need to add "let" to line V3=$V1+$V2
then echo $V3 will give 3
if without let , then it will be
echo $V3 will give 1+2

Q14. How to check if file exist on filesystem ?

Ans. if [ -f /var/log/messages ]
echo "File exists"

Q15. Write down syntax for all loops in shell scripting ?

Ans. for loop :
for i in $( ls ); do
echo item: $i
while loop :
while [ $COUNTER -lt 10 ]; do
echo The counter is $COUNTER
until loop :
until [ $COUNTER -lt 10 ]; do
let COUNTER-=1

Q16. What it means by #!/bin/sh or #!/bin/bash at beginning of every script ?

Ans. That line tells which shell to use. #!/bin/bash script to execute using /bin/bash. In case of python script there there will be #!/usr/bin/python

Q17. How to get 10th line from the text file ?

Ans. head -10 file|tail -1

Q18. What is the first symbol in the bash script file

Ans. #

Q19. What would be the output of command: [ -z "" ] && echo 0 || echo 1

Ans. 0

Q20. What command "export" do ?

Ans. Makes variable public in subshells

Q21. How to run script in background ?

Ans. add "&" to the end of script

Q22. What "chmod 500 script" do ?

Ans. Makes script executable for script owner

Q23. What ">" do ?

Ans. Redirects output stream to file or another stream.

Q24. What difference between & and &&

Ans. & - we using it when want to put script to background
&& - when we wand to execute command/script if first script was finished successfully

Q25. When we need "if" before [ condition ] ?

Ans. When we need to run several commands if condition meets.


Q26. What would be the output of the command: name=John && echo 'My name is $name'

Ans. My name is $name

Q27. Which is the symbol used for comments in bash shell scripting ?

Ans. #

Q28. What would be the output of command: echo ${new:-variable}

Ans. variable

Q29. What difference between ' and " quotes ?

Ans. ' - we use it when do not want to evaluate variables to the values
" - all variables will be evaluated and its values will be assigned instead.

Q30. How to redirect stdout and stderr streams to log.txt file from script inside ?

Ans. Add "exec >log.txt 2>&1" as the first command in the script

Q31. How to get part of string variable with echo command only ?

Ans. echo ${variable:x:y}
x - start position
y - length
variable="My name is Petras, and I am developer."
echo ${variable:11:6} # will display Petras

Q32. How to get home_dir with echo command only if string variable="User:123:321:/home/dir" is given ?

Ans. echo ${variable#*:*:*:}
echo ${variable##*:}

Q33. How to get “User” from the string above ?

Ans. echo ${variable%:*:*:*}
echo ${variable%%:*}

Q34. How to list users which UID less that 100 (awk) ?

Ans. awk -F: '$3<100' /etc/passwd

Q35. Write the program which counts unique primary groups for users and displays count and group name only

Ans. cat /etc/passwd|cut -d: -f4|sort|uniq -c|while read c g
{ echo $c; grep :$g: /etc/group|cut -d: -f1;}|xargs -n 2

Q36. How to change standard field separator to ":" in bash shell ?

Ans. IFS=":"

Q37. How to get variable length ?

Ans. $

Topics:Linux Shell Scripting Interview questions and answInformation Technologies (IT)



Top Courses in Python

Top Courses in Python

We help you to choose the right Python career Path at myTectra. Here are the top courses in Python one can select. Learn More →

aathirai cut mango pickle