Ịgbakọ nkwupụta mgbakọ na mwepụ n'asụsụ Shell Scripting - Nkebi V


Ndị mmadụ ga-enwe ahụ iru ala, na-aghọta Shell Scripts ma na-ede ha nke ọma, dịka mkpa gị si dị. Nke a bụ akwụkwọ ikpeazụ nke usoro nkuzi a, ebe anyị ga na-arụ ọrụ mgbakọ na mwepụ dị mgbagwoju anya site na iji asụsụ edemede. Edemede anọ ikpeazụ nke usoro Shell Scripting bụ usoro oge.

  1. Ghọta ndụmọdụ Asụsụ Scripting Shell Basic Linux – Nkebi nke Mbụ
  2. 5 Shell Scripts maka Linux Newbies ịmụta Shell Programming – Nkebi II
  3. Ịkwọ ụgbọ mmiri Site na Ụwa nke Linux BASH Scripting – Nkebi III
  4. Akụkụ mgbakọ na mwepụ nke Mmemme Shell Linux – Nkebi IV

Ka anyị malite na Fibonacci Series

Ụdị ọnụọgụgụ ebe ọnụọgụgụ ọ bụla bụ nchikota ọnụọgụ abụọ bu ụzọ. Usoro a bụ 0, 1, 1, 2, 3, 5, 8…… Site na nkọwapụta, ọnụọgụ abụọ mbụ na usoro Fibonccai bụ 0 na 1.

#!/bin/bash
echo "How many numbers do you want of Fibonacci series ?" 
  read total 
  x=0 
  y=1 
  i=2 
  echo "Fibonacci Series up to $total terms :: " 
  echo "$x" 
  echo "$y" 
  while [ $i -lt $total ] 
  do 
      i=`expr $i + 1 ` 
      z=`expr $x + $y ` 
      echo "$z" 
      x=$y 
      y=$z 
  done
 chmod 755 Fibonacci.sh
 ./Fibonacci.sh

How many numbers do you want of Fibonacci series ? 
10 
Fibonacci Series up to 10 terms :: 
0 
1 
1 
2 
3 
5 
8 
13 
21 
34

Ị maara eziokwu ahụ bụ na kọmputa ghọtara naanị na ọnụọgụ ọnụọgụ abụọ, ya bụ, '0' na '1' na ọtụtụ n'ime anyị enwewo mmasị ịmụta ntughari nke Decimal na ọnụọgụ abụọ. Kedu maka ịde ederede dị mfe maka ọrụ mgbagwoju anya a.

#!/bin/bash 

for ((i=32;i>=0;i--)); do 
        r=$(( 2**$i)) 
        Probablity+=( $r  ) 
done 

[[ $# -eq 0 ]] &echo -en "Decimal\t\tBinary\n" 
for input_int in [email ; do 
s=0 
test ${#input_int} -gt 11 &printf "%-10s\t" "$input_int" 

        for n in ${Probablity[@]}; do 

                if [[ $input_int -lt ${n} ]]; then 
                        [[ $s = 1 ]] && printf "%d" 0 
                else 
                        printf "%d" 1 ; s=1 
                        input_int=$(( $input_int - ${n} )) 
                fi 
        done 
echo -e 
done
 chmod 755 Decimal2Binary.sh
 ./Decimal2Binary.sh 1121

Decimal		Binary 
1121      	10001100001

Mara: Edemede dị n'elu na-anabata ntinye n'oge ọsọ, nke doro anya bụ enyemaka.

Ọ dị mma iwu 'bc' arụrụ arụ nwere ike ịtụgharị decimal ka ọ bụrụ ọnụọgụ abụọ na edemede nke otu ahịrị. Gbaa ọsọ, n'ọnụ ọnụ gị.

 echo "obase=2; NUM" | bc

Dochie 'NUM' na nọmba ahụ, nke ịchọrọ ịtụgharị site na Decimal gaa na ọnụọgụ abụọ. Ọmụmaatụ,

 echo "obase=2; 121" | bc 

1111001

Ọzọ, anyị ga-ede edemede nke na-arụ ọrụ dị nnọọ iche na nke dị n'elu, na-atụgharị ọnụọgụ ọnụọgụ abụọ ka ọ bụrụ decimal.

#!/bin/bash 
echo "Enter a number :" 
read Binary 
if [ $Binary -eq 0 ] 
then 
echo "Enter a valid number " 
else 
while [ $Binary -ne 0 ] 
do 
Bnumber=$Binary 
Decimal=0 
power=1 
while [ $Binary -ne 0 ] 
do 
rem=$(expr $Binary % 10 ) 
Decimal=$((Decimal+(rem*power))) 
power=$((power*2)) 
Binary=$(expr $Binary / 10) 
done 
echo  " $Decimal" 
done 
fi
 chmod 755 Binary2Decimal.sh
 ./Binary2Decimal.sh

Enter a number : 
11 
3

Mara: Enwere ike ịrụ ọrụ a dị n'elu na njedebe site na iji 'bc'iwu dị ka.

 echo "ibase=2; BINARY" | bc

Dochie 'BINARY' na ọnụọgụ ọnụọgụ abụọ, ya bụ.,

 echo "ibase=2; 11010101" | bc 

213

N'otu aka ahụ, ị nwere ike dee ntụgharị site na octal, hexadecimal gaa n'ọnụọgụ yana ọzọ n'onwe gị. Imezu nsonaazụ dị n'elu na njedebe site na iji 'bc'iwu bụ.

 echo "obase=8; Decimal" | bc
 echo "obase=16; Decimal" | bc
 echo "ibase=8; Octal" | bc
 echo "ibase=16; Hexadecimal" | bc
 echo "ibase=2;obase=8 Binary" | bc

Ụfọdụ n'ime ule ọnụọgụgụ a na-ejikarị na asụsụ scripting shei nwere nkọwa bụ.

Test : INTEGER1 -eq INTEGER2
Meaning: INTEGER1 is equal to INTEGER2
Test : INTEGER1 -ge INTEGER2
Meaning: INTEGER1 is greater than or equal to INTEGER2
Test: INTEGER1 -gt INTEGER2
Meaning: INTEGER1 is greater than INTEGER2
Test:INTEGER1 -le INTEGER2
Meaning: INTEGER1 is less than or equal to INTEGER2
Test: INTEGER1 -lt INTEGER2
Meaning: INTEGER1 is less than INTEGER2
Test: INTEGER1 -ne INTEGER2
Meaning: INTEGER1 is not equal to INTEGER2

Nke ahụ bụ ihe niile maka isiokwu a, na usoro isiokwu. Nke a bụ isiokwu ikpeazụ nke Shell Script Series na ọ pụtaghị na ọ nweghị akụkọ gbasara asụsụ scripting ga-abịakwa ebe a, ọ pụtara na nkuzi ide akwụkwọ shei agwụla na mgbe ọ bụla anyị chọtara isiokwu na-atọ ụtọ kwesịrị ịmara ma ọ bụ ajụjụ sitere n'aka unu, anyị ga-enwe obi ụtọ ịga n'ihu usoro si ebe a.

Nwee ahụ ike, na-ege ntị na jikọọ na Tecment. N'oge na-adịghị anya, m ga-abịa na isiokwu ọzọ na-atọ ụtọ, ị ga-enwe mmasị ịgụ. Kekọrịta echiche gị bara uru na ngalaba nkọwa.