Praktiske intervjuspørsmål og svar om Linux Shell-skripting


Med den overveldende responsen vi får på Intervjuserie-artiklene, den første i sitt slag på et Linux How-to-nettsted i form av Likes, tilbakemeldinger i kommentarer så vel som på personlig e-postadresse får oss til å gå fra en artikkel til den neste artikkel.

Her er lenken til Intervjuserien-artiklene som allerede er publisert på linux-console.net, hvor vi har dekket mange emner, nemlig FTP, MySQL, Apache, Scripting, Linux-kommandoer, etc.

Fortsetter til serien ovenfor her kommer vi med ytterligere 5 fantastiske Linux-intervjuspørsmål og deres svar. Din (linux-console.net-leserne og hyppige besøkende) støtte er alltid nødvendig for å gjøre det vellykket.

Lag nå en fil kalt 'userstats.sh' og legg til 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`"

Plasser utførelsestillatelse og kjør skriptet 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

Lag igjen en fil kalt 'two-numbers.sh' og legg til følgende innhold 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.

Sett kjøretillatelse på filen og kjør skriptet som vist nedenfor.

# chmod 755 two-numbers.sh

Betingelse 1: Hvis du kjører skriptet uten å angi to tall som kommandolinjeargument, vil du få følgende utdata.

# ./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 tall legges inn som kommandolinjeargument vil du få resultatet som vist.

$ ./two-numbers.sh 4 5 

Sum of 4 and 5 is 9

Derfor oppfyller skallskriptet ovenfor betingelsen som foreslått i spørsmålet.

  1. 1. La inndatanummeret = n
  2. 2. Sett rev=0, sd=0 (Revers og enkeltsiffer satt til 0)
  3. 3. n % 10, vil finne og gi enkelt siffer lengst til venstre
  4. 4. omvendt tall genereres som rev * 10 + sd
  5. 5. Reduser inndatanummer (n) med 1.
  6. 6. hvis n > 0, så gå til trinn 3 ellers gå til settp 7
  7. 7. Skriv ut rev.

Nå igjen, lag en fil kalt 'numbers.sh' og legg til følgende gitte kode.

#!/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"

Gi en utføringstillatelse på filen og kjør skriptet som vist nedenfor.

# chmod 755 numbers.h

Betingelse 1: Når Input ikke er gitt som kommandolinjeargument, vil du få følgende utdata.

./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 ble gitt som kommandolinjeargument.

$ ./numbers.sh 10572 

Reverse number is 27501

Skriptet ovenfor fungerte perfekt, og resultatet var akkurat det vi trengte.

Kjør for eksempel følgende kommando for å beregne tall i sanntid ved å bruke bc-kommandoen som vist.

$ echo 7.56 + 2.453 | bc

10.013
# pi 100 

3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067

Åpenbart! Vi må ha pakken 'pi' installert. Bare gjør en apt eller yum for å få en nødvendig pakke for å installere 'pi' på distribusjonen du bruker.

Det er alt for nå. Jeg kommer snart igjen med en annen interessant artikkel. Inntil da, følg med og koble til linux-console.net. Ikke glem å gi oss verdifull tilbakemelding i kommentarfeltet nedenfor.