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