Pagkalkulo sa mga Ekspresyong Matematika sa Shell Scripting Language - Bahin V
Kamong mga Tawo mahimong komportable, makasabut sa Shell Scripts ug maayo nga pagsulat niini, sumala sa imong panginahanglan. Kini ang katapusan nga post sa kini nga serye sa panudlo, diin maghimo kami usa ka gamay nga komplikado nga mga Operasyon sa Matematika gamit ang sinultian nga script. Ang kataposang upat ka artikulo sa Shell Scripting series nga kronolohiko.
- Sabta ang Basic Linux Shell Scripting Language Tips – Part I
- 5 Shell Scripts para sa Linux Newbies nga Makakat-on sa Shell Programming – Part II
- Paglayag Sa Kalibutan sa Linux BASH Scripting – Bahin III
- Mathematical Aspeto sa Linux Shell Programming – Bahin IV
Magsugod ta sa Fibonacci Series
Usa ka sumbanan sa mga numero diin ang matag numero mao ang sumada sa duha ka nag-una nga mga numero. Ang serye kay 0, 1, 1, 2, 3, 5, 8…… Sa kahulugan, ang unang duha ka numero sa Fibonccai sequence mao ang 0 ug 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
Pamilyar ka sa kamatuoran nga ang kompyuter nakasabut lamang sa Binary Format, i.e., '0' ug '1' ug kadaghanan kanato nalingaw sa pagkat-on sa pagkakabig sa Decimal ngadto sa Binary. Giunsa pagsulat ang usa ka yano nga script alang niining komplikado nga operasyon.
#!/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
Mubo nga sulat: Ang script sa ibabaw modawat sa Input sa oras sa pagdagan, nga klaro nga usa ka tabang.
Maayo ang inbuilt nga 'bc' nga mando mahimo’g mabag-o ang usa ka decimal ngadto sa binary sa usa ka script sa usa ka linya. Dagan, sa imong terminal.
echo "obase=2; NUM" | bc
Ilisan ang 'NUM' sa numero, nga gusto nimong i-convert gikan sa Decimal ngadto sa Binary. Pananglitan,
echo "obase=2; 121" | bc 1111001
Sunod magsulat kami usa ka script nga naglihok nga sukwahi sa script sa ibabaw, Pag-convert sa Binary Values sa 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
Mubo nga sulat: Ang naa sa ibabaw nga function mahimong ipahigayon sa terminal gamit ang 'bc' command as.
echo "ibase=2; BINARY" | bc
Ilisan ang 'BINARY' sa Binary nga numero, nga mao,
echo "ibase=2; 11010101" | bc 213
Sa samang paagi mahimo nimong isulat ang pagkakabig gikan sa octal, hexadecimal ngadto sa decimal ug vice-versa sa imong kaugalingon. Ang pagtuman sa resulta sa ibabaw sa terminal gamit ang 'bc' nga sugo mao.
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
Pipila sa Common Numeric nga mga pagsulay nga gigamit sa shell scripting nga pinulongan nga adunay paghulagway mao ang.
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
Kana ra para sa kini nga artikulo, ug ang serye sa artikulo. Kini ang kataposang artikulo sa Shell Script Series ug wala kini magpasabot nga wala nay artikulo sa Scripting language nga ania pag-usab, nagpasabot lamang kini nga ang shell scripting tutorial nahuman na ug sa matag higayon nga makakita kami og usa ka makapaikag nga hilisgutan nga angay mahibaloan o usa ka pangutana gikan kaninyong mga tawo, malipay kami nga ipadayon ang serye gikan dinhi.
Magpabiling himsog, tuned ug konektado sa Tecmint. Sa dili madugay moabut ako uban ang lain nga makapaikag nga hilisgutan, ganahan kamong magbasa. Ipakigbahin ang imong bililhon nga mga hunahuna sa Seksyon sa Komento.