Praktiske interviewspørgsmål og svar på Linux Shell Scripting


Med det overvældende svar, vi får på Interview Series-artiklerne, den første af sin art på ethvert Linux-How-to-websted i form af Likes, Feedback i kommentar såvel som på personlig e-mail-adresse får os til at gå fra en artikel til den næste artikel.

Her er linket til artikler om interviewserier, der allerede er offentliggjort på linux-console.net, hvor vi har dækket mange emner, nemlig FTP, MySQL, Apache, Scripting, Linux-kommandoer osv.

Fortsætter vi med ovenstående serier her kommer vi med yderligere 5 vidunderlige Linux Interview-spørgsmål og deres svar. Din support (The linux-console.net-læsere og hyppige besøgende) er altid nødvendig for at gøre det vellykket.

Opret nu en fil, der hedder 'userstats.sh', og tilføj følgende kode til den.

#!/bin/bash 
echo "Hello, $LOGNAME" 
echo "Current date is `date`" 
echo "User is `who i am`" 
echo "Current directory `pwd`"

Placer udfør tilladelse og kør scriptet som vist nedenfor.

# chmod 755 userstats.sh 
# ./userstats.sh
Hello, avi 
Current date is Sat Jun  7 13:05:29 IST 2014 
User is avi      pts/0        2014-06-07 11:59 (:0) 
Current directory /home/avi/Desktop

Opret igen en fil kaldet 'two-numbers.sh' og tilføj følgende indhold til den.

#!/bin/bash 
# The Shebang

if [ $# -ne 2 ] 
# If two Inputs are not received from Standard Input

then 
# then execute the below statements

    echo "Usage - $0   x    y" 
    # print on standard output, how-to use the script (Usage - ./1.sh   x    y )

    echo "        Where x and y are two nos for which I will print sum" 
    # print on standard output, “Where x and y are two nos for which I will print sum ”

    exit 1 
    # Leave shell in Error Stage and before the task was successfully carried out.

fi 
# End of the if Statement.

    echo "Sum of $1 and $2 is `expr $1 + $2`"
    # If the above condition was false and user Entered two numbers as a command Line Argument,   
       it will show the sum of the entered numbers.

Indstil eksekveringstilladelse til filen, og kør scriptet som vist nedenfor.

# chmod 755 two-numbers.sh

Betingelse 1: Kørsel af scriptet uden at indtaste to tal som kommandolinjeargument, får du følgende output.

# ./two-numbers.sh

Usage - ./two-numbers.sh   x    y 
        Where x and y are two nos for which I will print sum

Betingelse 2: Når tal indtastes som kommandolinjeargument, får du resultatet som vist.

$ ./two-numbers.sh 4 5 

Sum of 4 and 5 is 9

Derfor opfylder ovenstående shell-script betingelsen som foreslået i spørgsmålet.

  1. 1. Lad inputnummeret = n
  2. 2. Indstil rev = 0, sd = 0 (omvendt og enkelt ciffer er indstillet til 0)
  3. 3. n% 10, finder og giver enkelt venstre mest cifret
  4. 4. omvendt nummer genereres som rev * 10 + sd
  5. 5. Reducer inputnummer (n) med 1.
  6. 6. hvis n> 0, så gå til trin 3 ellers gå til setp 7
  7. 7. Udskriv rev

Opret nu igen en fil kaldet 'numbers.sh' og tilføj følgende givne kode den.

#!/bin/bash 
if [ $# -ne 1 ] 
then 
    echo "Usage: $0   number" 
    echo "       I will find reverse of given number" 
    echo "       For eg. $0 0123, I will print 3210" 
    exit 1 
fi 

n=$1 
rev=0 
sd=0 

while [ $n -gt 0 ] 
do 
    sd=`expr $n % 10` 
    rev=`expr $rev \* 10  + $sd` 
    n=`expr $n / 10` 
done 
    echo  "Reverse number is $rev"

Giv en eksekveringstilladelse til filen, og kør scriptet som vist nedenfor.

# chmod 755 numbers.h

Betingelse 1: Når input ikke leveres som kommandolinjeargument, får du følgende output.

./numbers.sh

Usage: ./numbers.sh  number 
       I will find reverse of given number 
       For eg. ./2.sh 123, I will print 321

Betingelse 2: Når input blev leveret som kommandolinjeargument.

$ ./numbers.sh 10572 

Reverse number is 27501

Ovenstående script fungerede perfekt, og output var lige, hvad vi havde brug for.

Kør f.eks. Følgende kommando for at beregne tal i realtid ved hjælp af bc-kommandoen som vist.

$ echo 7.56 + 2.453 | bc

10.013
# pi 100 

3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067

Naturligvis! Vi skal have pakke 'pi' installeret. Bare gør en apt eller yum for at få en påkrævet pakke til at installere 'pi' på den distribution, du bruger.

Det er alt for nu. Jeg kommer her igen med en anden interessant artikel meget snart. Indtil da hold dig opdateret og tilsluttet linux-console.net. Glem ikke at give os værdifuld feedback i kommentarfeltet nedenfor.