Intervisti Prattiċi Mistoqsijiet u Tweġibiet fuq Linux Shell Scripting


Bir-rispons kbir li qed inġibu fuq l-artikoli tas-Serje ta' Intervisti, l-ewwel tax-xorta tiegħu fuq kwalunkwe websajt ta' Linux How-to fil-forma ta' Likes, Feedbacks f'kumment kif ukoll fuq Indirizz tal-Email personali jagħmluna mmorru minn artiklu għall-ieħor. artikolu.

Hawnhekk hawn il-link għall-artikoli tas-Serje tal-Intervisti diġà ppubblikati fuq linux-console.net, fejn koprejna ħafna suġġetti jiġifieri, FTP, MySQL, Apache, Scripting, Kmandi Linux, eċċ.

Inkomplu għas-serje ta 'hawn fuq hawn qed niġu b'5 Mistoqsijiet oħra tal-Intervista tal-Linux mill-isbaħ u t-tweġiba tagħhom. L-appoġġ tiegħek (Il-Qarrejja ta' linux-console.net u l-Viżitaturi frekwenti) huwa dejjem meħtieġ biex tirnexxi.

Issa oħloq fajl imsejjaħ 'userstats.sh' u żid miegħu l-kodiċi li ġej.

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

Poġġi tesegwixxi permess u mexxi l-iskript kif muri hawn taħt.

# 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

Għal darb'oħra oħloq fajl imsejjaħ 'two-numbers.sh' u żid il-kontenut li ġej miegħu.

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

Issettja l-permess tal-eżekutur fuq il-fajl u mexxi l-iskrittura kif muri hawn taħt.

# chmod 755 two-numbers.sh

Kundizzjoni 1: Tmexxi l-iskrittura mingħajr ma ddaħħal żewġ numri bħala argument tal-linja tal-kmand, ikollok l-output li ġej.

# ./two-numbers.sh

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

Kundizzjoni 2: Meta n-Numri jiddaħħlu bħala argument tal-linja tal-kmand ikollok ir-riżultat kif muri.

$ ./two-numbers.sh 4 5 

Sum of 4 and 5 is 9

Għalhekk l-iskrittura tal-qoxra ta 'hawn fuq tissodisfa l-kundizzjoni kif issuġġerit fil-mistoqsija.

  1. 1. Ħalli n-Numru tal-Input = n
  2. 2. Issettja rev=0, sd=0 (Reverse u single digitis issettjat għal 0)
  3. 3. n % 10, se ssib u tagħti l-aktar ċifra tax-xellug waħda
  4. 4. in-numru invers huwa ġġenerat bħala rev * 10 + sd
  5. 5. Naqqas in-Numru tal-Input (n) b'1.
  6. 6. jekk n > 0, imbagħad mur pass 3 inkella mur setp 7
  7. 7. Stampa rev

Issa għal darb'oħra, oħloq fajl imsejjaħ 'numbers.sh' u żid il-kodiċi mogħti li ġej.

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

Agħti permess ta 'eżekuzzjoni fuq il-fajl u mexxi l-iskript kif muri hawn taħt.

# chmod 755 numbers.h

Kundizzjoni 1: Meta l-Input ma jiġix ipprovdut bħala argument tal-linja tal-kmand, ikollok l-output li ġej.

./numbers.sh

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

Kundizzjoni 2: Meta l-Input kien ipprovdut bħala Argument tal-linja tal-kmand.

$ ./numbers.sh 10572 

Reverse number is 27501

L-iskript ta 'hawn fuq ħadem perfettament u l-output kien eżatt dak li kellna bżonn.

Pereżempju, ħaddem il-kmand li ġej biex tikkalkula n-numri f'ħin reali billi tuża kmand bc kif muri.

$ echo 7.56 + 2.453 | bc

10.013
# pi 100 

3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067

Ovvjament! Irridu jkollna l-pakkett 'pi' installat. Agħmel biss apt jew yum biex tikseb pakkett meħtieġ biex tinstalla 'pi' fuq id-distribuzzjoni li qed tuża.

Dak kollu għalissa. Ser inkun hawn mill-ġdid b'artiklu ieħor interessanti dalwaqt. Sa dakinhar ibqa' sintonizzat u mqabbad ma' linux-console.net. Tinsiex tagħtina feedback siewi fit-taqsima tal-kummenti hawn taħt.