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. 1. Giriş belgisi=n
  2. bolsun
  3. 2. Rev=0, sd=0 düzüň (Ters we ýeke digit 0-a düzüldi)
  4. 3. n% 10, iň köp sanly san tapar we berer
  5. 4. ters san rev * 10 + sd
  6. görnüşinde döredilýär
  7. 5. Giriş belgisini (n) 1-e azaltmak
  8. 6. eger n> 0 bolsa, onda 3-nji ädim goto setp 7
  9. 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ň.