Ƙididdiga Bayanan Lissafi a Harshen Rubutun Shell - Sashe na V
Jama'a za ku ji daɗi, kuna fahimtar Rubutun Shell kuma ku rubuta su sosai, gwargwadon buƙatarku. Wannan shine rubutu na ƙarshe na wannan silsilar koyawa, inda za mu gudanar da wani ɗan taƙaitaccen aiki na Lissafi ta amfani da yaren rubutu. Labari huɗu na ƙarshe na jerin Rubutun Shell waɗanda suke a jere.
- Fahimtar Tushen Harshen Rubutun Shell na Linux - Sashe na I
- Rubutun Shell 5 don Sabbin Linux don Koyan Shirye-shiryen Shell - Sashe na II
- Tafi Ta Duniyar Rubutun BASH na Linux - Sashe na III
- Hanyoyin Lissafi na Linux Shell Programming – Sashe na IV
Bari mu fara da Fibonacci Series
Tsarin lambobi inda kowane lamba shine jimillar lambobi biyu da suka gabata. Silsilar ita ce 0, 1, 1, 2, 3, 5, 8…… Ta ma'ana, lambobi biyu na farko a cikin jerin Fibonccai sune 0 da 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
Kun saba da gaskiyar cewa kwamfuta ta fahimta kawai a cikin Tsarin Binaryar, watau, '0' da '1' kuma yawancin mu mun ji daɗin koyan jujjuya Decimal zuwa Binary. Yaya game da rubuta rubutun sassauƙa don wannan hadadden aiki.
#!/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
Lura: Rubutun da ke sama yana karɓar shigarwa a lokacin aiki, wanda a bayyane yake taimako ne.
Da kyau umarnin inbuilt 'bc' na iya canza adadi zuwa binary a cikin rubutun layi ɗaya. Gudu, a tashar ku.
echo "obase=2; NUM" | bc
Sauya 'NUM' tare da lambar, wacce kuke son canzawa daga Decimal zuwa Binary. Misali,
echo "obase=2; 121" | bc 1111001
Na gaba za mu rubuta rubutun da ke aiki daidai da rubutun da ke sama, Maida Ƙimar Binary zuwa 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
Lura: Ana iya yin aikin da ke sama a cikin tashar ta amfani da umarnin 'bc' kamar yadda.
echo "ibase=2; BINARY" | bc
Sauya 'BINARY' tare da lambar binary, watau,
echo "ibase=2; 11010101" | bc 213
Hakazalika zaka iya rubuta juzu'i daga octal, hexadecimal zuwa decimal da kuma mataimakinsa da kanka. Cimma sakamakon da ke sama a cikin tashar ta amfani da umarnin 'bc' shine.
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
Wasu gwaje-gwajen Lambobi gama gari da ake amfani da su a cikin harshen rubutun harsashi tare da kwatance shine.
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
Wannan ke nan don wannan labarin, da jerin labarin. Wannan shine labarin ƙarshe na jerin Rubutun Shell kuma hakan baya nufin cewa babu wani labarin akan Harshen Rubutun da zai sake zuwa nan, yana nufin kawai koyaswar rubutun harsashi ya ƙare kuma duk lokacin da muka sami wani batu mai ban sha'awa wanda ya cancanci sani ko tambaya daga gare ku mutane, za mu yi farin cikin ci gaba da jerin daga nan.
Kasance cikin koshin lafiya, saurare kuma a haɗa ku zuwa Tecment. Ba da daɗewa ba zan zo da wani batu mai ban sha'awa, mutane za ku so ku karanta. Raba ra'ayoyinku masu mahimmanci a Sashen Sharhi.