Linux Shell skriptinde amaly söhbetdeşlik soraglary we jogaplary
Söhbetdeşlik seriýasyndaky makalalara alýan köp seslenme bilen, halanýanlar görnüşindäki islendik Linux How-web sahypasynda ilkinjisi, teswirlerdäki teswirler we şahsy e-poçta salgysy bizi bir makaladan beýlekisine geçirmäge mejbur edýär. makala.
Ine, linux-console.net-da eýýäm neşir edilen Söhbetdeşlik seriýasy makalalaryna baglanyşyk, bu ýerde köp sanly mowzuk açdyk, FTP, MySQL, Apache, Scripting, Linux Commands we ş.m.
Hereokardaky seriýalary dowam etdirip, ýene-de 5 sany ajaýyp Linux Söhbetdeşlik soraglary we olaryň jogaby bilen gelýäris. Siziň (linux-console.net Okyjylar we ýygy-ýygydan gelýänler) goldawyňyz, üstünlik gazanmak üçin elmydama zerurdyr.
Indi “userstats.sh” atly bir faýl dörediň we oňa aşakdaky kody goşuň.
#!/bin/bash echo "Hello, $LOGNAME" echo "Current date is `date`" echo "User is `who i am`" echo "Current directory `pwd`"
Rugsat ýerine ýetiriň we skripti aşakda görkezilişi ýaly işlediň.
# 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
Twoene-de “two-numbers.sh” atly bir faýl dörediň we oňa aşakdaky mazmuny goş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.
Faýlda ýerine ýetirijiniň rugsadyny düzüň we aşakda görkezilişi ýaly skripti işlediň.
# chmod 755 two-numbers.sh
1-nji şert: Buýruk setiri argumenti hökmünde iki belgini girizmän skripti işletmek, aşakdaky netijäni alarsyňyz.
# ./two-numbers.sh Usage - ./two-numbers.sh x y Where x and y are two nos for which I will print sum
2-nji şert: Sanlar buýruk setiriniň argumenti hökmünde girizilende netijäni görkezilişi ýaly alarsyňyz.
$ ./two-numbers.sh 4 5 Sum of 4 and 5 is 9
Şonuň üçin ýokardaky gabyk skriptinde soragda görkezilişi ýaly şerti ýerine ýetirýär.
- 1. Giriş belgisi=n bolsun
- 2. Rev=0, sd=0 düzüň (Ters we ýeke digit 0-a düzüldi)
- 3. n% 10, iň köp sanly san tapar we berer
- 4. ters san rev * 10 + sd görnüşinde döredilýär
- 5. Giriş belgisini (n) 1-e azaltmak
- 6. eger n> 0 bolsa, onda 3-nji ädim goto setp 7
- 7. Çap et
Indi ýene numbers.sh atly bir faýl dörediň we aşakdaky kody goşuň.
#!/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"
Faýlda ýerine ýetiriş rugsady beriň we skripti aşakda görkezilişi ýaly işlediň.
# chmod 755 numbers.h
1-nji şert: Giriş buýruk setiri argumenti hökmünde berilmese, aşakdaky çykyşy alarsyňyz.
./numbers.sh Usage: ./numbers.sh number I will find reverse of given number For eg. ./2.sh 123, I will print 321
2-nji şert: Giriş buýruk setiri Argument hökmünde berlende.
$ ./numbers.sh 10572 Reverse number is 27501
Aboveokardaky skript gaty gowy işledi we çykyş diňe bize gerekdi.
Mysal üçin, görkezilişi ýaly bc buýrugyny ulanyp, sanlary hakyky wagtda hasaplamak üçin aşakdaky buýrugy işlediň.
$ echo 7.56 + 2.453 | bc 10.013
# pi 100 3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067
Elbetde! Bizde “pi” bukjasy bolmaly. Ulanylýan paýlamaňyza “pi” gurmak üçin zerur paket almak üçin apt ýa-da ýum ediň.
Bularyň hemmesi häzirlikçe. Soonakynda ýene bir gyzykly makala bilen şu ýere gelerin. Soňra linux-console.net-a birikdiriň we sazlaň. Aşakdaky teswirler bölüminde bize gymmatly pikirleri bermegi ýatdan çykarmaň.