Il-Kalkolazzjoni ta' Espressjonijiet Matematiċi fil-Lingwa ta' Scripting Shell - Parti V
Int Nies tkun tħossok komdu, tifhem Shell Scripts u tiktebhom b'mod fluwenti, skont il-ħtieġa tiegħek. Din hija l-aħħar post ta’ din is-serje tutorial, fejn se nkunu qed inwettqu Operazzjonijiet Matematiċi daqsxejn kumplessi bl-użu ta’ lingwaġġ ta’ scripting. L-aħħar erba 'artikoli tas-serje Shell Scripting li huma kronoloġikament.
- Fhem Tips Bażiċi dwar il-Lingwa tal-Linux Shell Scripting – Parti I
- 5 Shell Scripts għall-Linux Newbies biex Tgħallem Shell Programming – Parti II
- Sailing Through The World of Linux BASH Scripting – Parti III
- Aspett Matematiku tal-Programmazzjoni tal-Linux Shell – Parti IV
Nibdew bis-Serje Fibonacci
Mudell ta' numri fejn kull numru huwa s-somma ta' żewġ numri preċedenti. Is-serje hija 0, 1, 1, 2, 3, 5, 8...... B'definizzjoni, l-ewwel żewġ numri fis-sekwenza Fibonccai huma 0 u 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
Int familjari mal-fatt li l-kompjuter jifhem biss fil-Format Binarju, jiġifieri, '0' u '1' u ħafna minna ħadna pjaċir nitgħallmu l-konverżjoni ta 'Deċimali għal Binarju. Kif dwar il-kitba ta 'skript sempliċi għal din l-operazzjoni kumplessa.
#!/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
Nota: L-iskript ta 'hawn fuq jaċċetta Input fil-ħin tar-run, li ovvjament huwa ta' għajnuna.
Ukoll il-kmand 'bc' inkorporat jista 'jikkonverti deċimali għal binarju fi skript ta' linja waħda. Mexxi, fit-terminal tiegħek.
echo "obase=2; NUM" | bc
Ibdel 'NUM' bin-numru, li trid tikkonverti minn Deċimali għal Binarju. Pereżempju,
echo "obase=2; 121" | bc 1111001
Sussegwentement se nkunu qed niktbu b'kitba li tiffunzjona eżattament opposta tal-iskrittura ta 'hawn fuq, Konverżjoni ta' Valuri Binarji għal Deċimali.
#!/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
Nota: Il-funzjoni ta 'hawn fuq tista' titwettaq fit-terminal bl-użu tal-kmand 'bc' bħala.
echo "ibase=2; BINARY" | bc
Ibdel 'BINARJU' bin-numru Binarju, jiġifieri,
echo "ibase=2; 11010101" | bc 213
Bl-istess mod tista 'tikteb konverżjoni minn ottali, eżadeċimali għal deċimali u viċi versa lilek innifsek. It-twettiq tar-riżultat ta 'hawn fuq fit-terminal bl-użu tal-kmand 'bc' huwa.
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
Uħud mit-testijiet Numeriċi Komuni użati fil-lingwa tal-kitba tal-qoxra b'deskrizzjoni hija.
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
Dak kollu għal dan l-artikolu, u s-serje ta 'artikli. Dan huwa l-aħħar artiklu ta 'Shell Script Series u ma jfissirx li l-ebda artikolu dwar il-lingwa Scripting se jerġa' jkun hawn, ifisser biss li l-shell scripting tutorja spiċċa u kull meta nsibu suġġett interessanti ta' min inkunu nafu jew mistoqsija mingħandkom, inkunu kuntenti li nkomplu s-serje minn hawn.
Ibqa’ b’saħħtu, sintonizzat u konness ma’ Tecmint. Dalwaqt se niġi b'suġġett ieħor interessanti, intom intom tħobbu taqraw. Aqsam il-ħsibijiet siewja tiegħek fit-Taqsima tal-Kummenti.