ຄຳ ຖາມ ສຳ ພາດແລະ ຄຳ ຕອບກ່ຽວກັບການປະຕິບັດຕົວຈິງໃນ Linux Shell Scripting


ດ້ວຍ ຄຳ ຕອບທີ່ລົ້ນເຫຼືອທີ່ພວກເຮົາ ກຳ ລັງໄດ້ຮັບໃນບົດຄວາມ ສຳ ພາດບົດ ທຳ ອິດ, ມັນເປັນສິ່ງ ທຳ ອິດໃນເວັບໄຊທ໌ Linux How-to ໃດໃນຮູບແບບຂອງ Likes, ຄຳ ຕິຊົມໃນ ຄຳ ເຫັນກໍ່ຄືໃນທີ່ຢູ່ອີເມວສ່ວນຕົວເຮັດໃຫ້ພວກເຮົາໄປຈາກບົດຄວາມ ໜຶ່ງ ໄປຫາຫົວຂໍ້ຕໍ່ໄປ ບົດຄວາມ.

ນີ້ແມ່ນການເຊື່ອມຕໍ່ກັບບົດຄວາມ ສຳ ພາດບົດ ສຳ ພາດທີ່ເຜີຍແຜ່ແລ້ວໃນ linux-console.net, ເຊິ່ງພວກເຮົາໄດ້ກວມເອົາຫລາຍຫົວຂໍ້ viz, FTP, MySQL, Apache, Scripting, Linux Commands, ແລະອື່ນໆ.

ສືບຕໍ່ໃນຊຸດຂ້າງເທິງນີ້ພວກເຮົາ ກຳ ລັງມາພ້ອມກັບອີກ 5 ຄຳ ຖາມ ສຳ ພາດກ່ຽວກັບ Linux ສຳ ລັບ ຄຳ ຖາມແລະ ຄຳ ຕອບຂອງພວກເຂົາ. ການສະ ໜັບ ສະ ໜູນ ຂອງທ່ານ (The linux-console.net ຜູ້ອ່ານແລະຜູ້ເຂົ້າຊົມເລື້ອຍໆ) ແມ່ນມີຄວາມ ຈຳ ເປັນເພື່ອໃຫ້ມັນປະສົບຜົນ ສຳ ເລັດ.

ດຽວນີ້ສ້າງແຟ້ມທີ່ມີຊື່ວ່າ 'userstats.sh' ແລະຕື່ມໃສ່ລະຫັດຕໍ່ໄປນີ້.

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

ຈັດວາງການອະນຸຍາດແລະ ດຳ ເນີນການສະຄຣິບດັ່ງທີ່ສະແດງຢູ່ດ້ານລຸ່ມ.

# 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

ສ້າງແຟ້ມອີກຊື່ ໜຶ່ງ ວ່າ 'two-numbers.sh' ແລະຕື່ມເນື້ອຫາຕໍ່ໄປນີ້ໃສ່ມັນ.

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

ຕັ້ງຄ່າການອະນຸຍາດຂອງ executer ຢູ່ໃນເອກະສານແລະ ດຳ ເນີນການ script ດັ່ງຮູບຂ້າງລຸ່ມນີ້.

# chmod 755 two-numbers.sh

ເງື່ອນໄຂທີ 1: ການແລ່ນສະຄຣິບໂດຍບໍ່ຕ້ອງໃສ່ສອງຕົວເລກເປັນການໂຕ້ຖຽງເສັ້ນ ຄຳ ສັ່ງ, ທ່ານຈະໄດ້ຮັບຜົນຜະລິດຕໍ່ໄປນີ້.

# ./two-numbers.sh

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

ເງື່ອນໄຂທີ 2: ເມື່ອຕົວເລກຖືກໃສ່ເຂົ້າໃນການໂຕ້ຖຽງເສັ້ນ ຄຳ ສັ່ງທ່ານຈະໄດ້ຮັບຜົນຕາມທີ່ສະແດງ.

$ ./two-numbers.sh 4 5 

Sum of 4 and 5 is 9

ດັ່ງນັ້ນຕົວ ໜັງ ສືແກະທີ່ກ່າວມາຂ້າງເທິງນີ້ເຮັດໃຫ້ສະພາບເງື່ອນໄຂດັ່ງທີ່ແນະ ນຳ ໃນ ຄຳ ຖາມ.

<

  • 1. ໃຫ້ເລກທີ່ປ້ອນເຂົ້າ = n
  • 2. ຕັ້ງຄ່າ rev = 0, sd = 0 (ປີ້ນກັບກັນແລະຊຸດດຽວກັບ 0)
  • 3. n% 10, ຈະຊອກຫາແລະໃຫ້ຕົວເລກຊ້າຍຫລາຍທີ່ສຸດ
  • 4. ຈຳ ນວນປີ້ນກັບກັນແມ່ນສ້າງຂື້ນເປັນ rev * 10 + sd
  • 5. ຫຼຸດ ຈຳ ນວນການປ້ອນຂໍ້ມູນ (n) ລົງໂດຍ 1.
  • 6. ຖ້າ n> 0, ຫຼັງຈາກນັ້ນກໍ່ໄດ້ກັບຂັ້ນຕອນທີ 3 ອີກແລ້ວທີ່ໄດ້ຮັບການຕັ້ງຄ່າ 7
  • 7. ພິມ rev
  • ອີກເທື່ອ ໜຶ່ງ, ສ້າງແຟ້ມເອກະສານທີ່ມີຊື່ວ່າ ‘numbers.sh’ ແລະຕື່ມໃສ່ລະຫັດທີ່ລະບຸໄວ້ດັ່ງຕໍ່ໄປນີ້.

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

    ໃຫ້ການອະນຸຍາດ ດຳ ເນີນການໃນເອກະສານແລະ ດຳ ເນີນການສະຄຣິບດັ່ງທີ່ສະແດງຢູ່ດ້ານລຸ່ມ.

    # chmod 755 numbers.h

    ເງື່ອນໄຂ 1: ເມື່ອ Input ບໍ່ໄດ້ຖືກສະ ໜອງ ໃຫ້ເປັນການໂຕ້ຖຽງເສັ້ນ ຄຳ ສັ່ງ, ທ່ານຈະໄດ້ຮັບຜົນຜະລິດຕໍ່ໄປນີ້.

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

    ເງື່ອນໄຂທີ 2: ເມື່ອ Input ຖືກສະ ໜອງ ເປັນແຖວ ຄຳ ສັ່ງ Argument.

    $ ./numbers.sh 10572 
    
    Reverse number is 27501

    ບົດຂຽນຂ້າງເທິງໄດ້ເຮັດວຽກຢ່າງສົມບູນແລະຜົນໄດ້ຮັບແມ່ນສິ່ງທີ່ພວກເຮົາຕ້ອງການ.

    ຕົວຢ່າງ, ດໍາເນີນການຄໍາສັ່ງຕໍ່ໄປນີ້ເພື່ອຄິດໄລ່ຕົວເລກໃນເວລາຈິງໂດຍໃຊ້ຄໍາສັ່ງ bc ຕາມທີ່ສະແດງ.

    $ echo 7.56 + 2.453 | bc
    
    10.013
    # pi 100 
    
    3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067

    ເຫັນໄດ້ແຈ້ງ! ພວກເຮົາຕ້ອງມີຊຸດຕິດຕັ້ງ. ພຽງແຕ່ເຮັດຕາມຄວາມ ເໝາະ ສົມເພື່ອໃຫ້ໄດ້ຊຸດທີ່ຕ້ອງການເພື່ອຕິດຕັ້ງ 'pi' ໃສ່ການແຈກຈ່າຍທີ່ທ່ານ ກຳ ລັງໃຊ້.

    ດຽວນີ້ ໝົດ ແລ້ວ. ຂ້ອຍຈະຢູ່ທີ່ນີ້ອີກເທື່ອ ໜຶ່ງ ດ້ວຍບົດຂຽນທີ່ ໜ້າ ສົນໃຈອີກໄວໆນີ້. ຈົນກ່ວານັ້ນຈະຕິດຕາມແລະເຊື່ອມຕໍ່ກັບ linux-console.net. ຢ່າລືມໃຫ້ພວກເຮົາມີ ຄຳ ຕິຊົມທີ່ມີຄຸນຄ່າໃນພາກ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້.