Maswali na Majibu ya Mahojiano ya Kiutendaji kwenye Uandikaji wa Shell ya Linux


Kwa mwitikio mkubwa tunaopata kwenye Msururu wa vifungu vya Mahojiano, ya kwanza ya aina yake kwenye tovuti yoyote ya Linux Jinsi ya kufanya katika mfumo wa Vipendwa, Maoni katika maoni na pia kwenye Anwani ya barua pepe ya kibinafsi hutufanya kwenda kutoka kwa nakala moja hadi nyingine. makala.

Hiki hapa ni kiungo cha makala ya Msururu wa Mahojiano ambayo tayari yamechapishwa kwenye linux-console.net, ambapo tumeshughulikia mada nyingi kama vile, FTP, MySQL, Apache, Scripting, Linux Commands, n.k.

Kuendelea na mfululizo wa hapo juu hapa tunakuja na Maswali mengine 5 ya ajabu ya Mahojiano ya Linux na majibu yao. Usaidizi wako (Wasomaji wa linux-console.net na Wageni wa mara kwa mara) unahitajika kila wakati ili kuifanya iwe na mafanikio.

Sasa unda faili inayoitwa 'usstats.sh' na uongeze nambari ifuatayo kwake.

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

Weka ruhusa ya kutekeleza na uendesha hati kama inavyoonyeshwa hapa chini.

# 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

Tena unda faili inayoitwa 'two-numbers.sh' na uongeze maudhui yafuatayo kwake.

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

Weka ruhusa ya mtekelezaji kwenye faili na uendeshe hati kama inavyoonyeshwa hapa chini.

# chmod 755 two-numbers.sh

Hali ya 1: Kuendesha hati bila kuingiza nambari mbili kama hoja ya mstari wa amri, utapata matokeo yafuatayo.

# ./two-numbers.sh

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

Hali ya 2: Nambari zinapoingizwa kama hoja ya mstari wa amri utapata matokeo kama inavyoonyeshwa.

$ ./two-numbers.sh 4 5 

Sum of 4 and 5 is 9

Kwa hivyo maandishi ya ganda hapo juu yanatimiza hali kama inavyopendekezwa katika swali.

  1. 1. Acha Nambari ya Kuingiza = n
  2. 2. Weka rev=0, sd=0 (Nyuma na tarakimu moja imewekwa 0)
  3. 3. n % 10, itapata na kutoa tarakimu moja iliyo kushoto zaidi
  4. 4. nambari ya nyuma inatolewa kama rev * 10 + sd
  5. 5. Punguza Nambari ya Kuingiza (n) kwa 1.
  6. 6. ikiwa n > 0, kisha nenda hatua ya 3 kwenda kuweka 7
  7. 7. Chapisha rev

Sasa tena, unda faili inayoitwa 'numbers.sh' na uongeze nambari ifuatayo.

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

Toa ruhusa ya kutekeleza kwenye faili na uendeshe hati kama inavyoonyeshwa hapa chini.

# chmod 755 numbers.h

Hali ya 1: Wakati Ingizo halijatolewa kama hoja ya mstari wa amri, utapata matokeo yafuatayo.

./numbers.sh

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

Masharti ya 2: Ingizo lilipotolewa kama Hoja ya safu ya amri.

$ ./numbers.sh 10572 

Reverse number is 27501

Hati iliyo hapo juu ilifanya kazi kikamilifu na matokeo ndiyo tu tuliyohitaji.

Kwa mfano, endesha amri ifuatayo ili kuhesabu nambari kwa wakati halisi kwa kutumia bc amri kama inavyoonyeshwa.

$ echo 7.56 + 2.453 | bc

10.013
# pi 100 

3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067

Ni wazi! Lazima tuwe na kifurushi 'pi' kimewekwa. Fanya tu apt au yum kupata kifurushi kinachohitajika kusakinisha 'pi' kwenye usambazaji unaotumia.

Hayo ni yote kwa sasa. Nitakuwa hapa tena na makala nyingine ya kuvutia hivi karibuni. Hadi wakati huo, endelea kufuatilia na uunganishwe na linux-console.net. Usisahau kutupatia maoni muhimu katika sehemu ya maoni hapa chini.