![Cum să încercați reîmprospătarea interfeței de utilizator 2023 de la Google Chrome pe Ubuntu](/f/966d8d244695d1c48a27453977c23dc0.jpg?width=100&height=100)
Voi, oamenii, v-ați simți confortabil, înțelegător Scripturi Shell și scriindu-le fluent, în funcție de nevoile dvs. Aceasta este ultima postare a acestei serii de tutoriale, unde vom realiza un pic cam complex Operații matematice folosind un limbaj de scriptare. Ultimele patru articole din Script Shell serii cronologice.
Un model de numere în care fiecare număr este suma a două numere precedente. Seria este 0, 1, 1, 2, 3, 5, 8…… Prin definiție, primele două numere din Fibonccai secvența sunt 0 și 1.
#! / bin / bash. ecou „Câte numere doriți din seria Fibonacci?” citiți total x = 0 y = 1 i = 2 ecou "Seria Fibonacci până la $ total termeni:: "echo" $ x "echo" $ y "în timp ce [$ i -lt $ total] do i =` expr $ i + 1 `z =` expr $ x + $ y `echo" $ z " x = $ y y = $ z terminat
[[e-mail protejat] ~] # chmod 755 Fibonacci.sh. [[e-mail protejat] ~] # ./Fibonacci.sh Câte numere doriți din seria Fibonacci? 10 serii Fibonacci până la 10 termeni:: 0 1 1 2 3 5 8 13 21 34
Descărcați Fibonacci.sh
Sunteți familiarizat cu faptul că computerul înțelege numai în format binar, adică „0' și '1‘Și majorității dintre noi ne-a plăcut să învățăm convertirea lui Zecimal la Binar. Ce zici de scrierea unui script simplu pentru această operațiune complexă.
#! / bin / bash for ((i = 32; i> = 0; i--)); do r = $ ((2 ** $ i)) Probabilitate + = ($ r) făcut [[$ # -eq 0]] & echo -en "Decimal \ t \ tBinary \ n" pentru input_int în [e-mail protejat]; do s = 0 test $ {# input_int} -gt 11 & printf "% -10s \ t" "$ input_int" pentru n în $ {Probablity [@]}; faceți dacă [[$ input_int -lt $ {n}]]; apoi [[$ s = 1]] && printf "% d" 0 else printf "% d" 1; s = 1 input_int = $ (($ input_int - $ {n})) fi done echo -e done
[[e-mail protejat] ~] # chmod 755 Decimal2Binary.sh. [[e-mail protejat] ~] # ./Decimal2Binary.sh 1121 Decimal Binary 1121 10001100001
Notă: Scriptul de mai sus acceptă intrarea în timpul rulării, ceea ce este, în mod evident, un ajutor.
Descărcați Decimal2Binary.sh
Ei bine,bc‘Comanda poate converti un zecimal la binar într-un script de linie unică. Fugi, la terminalul tău.
[[e-mail protejat] ~] # echo "obase = 2; NUM "| bc
A inlocui 'NUM‘Cu numărul din care doriți să convertiți Zecimal la Binar. De exemplu,
[[e-mail protejat] ~] # echo "obase = 2; 121 "| bc 1111001
În continuare vom scrie un script care funcționează chiar opus scriptului de mai sus, Conversia valorilor binare la Zecimal.
#! / bin / bash echo "Introduceți un număr:" citiți Binary dacă [$ Binary -eq 0] apoi echo "Introduceți un număr valid" altfel în timp ce [$ Binary -ne 0] faceți Bnumber = $ Binary Decimal = 0 putere = 1 în timp ce [$ Binary -ne 0] face rem = $ (expr $ Binary% 10) Zecimal = $ ((Zecimal + (rem * putere))) putere = $ ((putere * 2)) Binar = $ (expr $ Binary / 10) făcut ecou „$ Zecimal” făcut fi
[[e-mail protejat] ~] # chmod 755 Binary2Decimal.sh. [[e-mail protejat] ~] # ./Binary2Decimal.sh Introduceți un număr: 11 3
Notă: Funcția de mai sus poate fi realizată în terminal folosind „bc‘Comanda ca.
[[e-mail protejat] ~] # echo "ibase = 2; BINARY "| bc
A inlocui 'BINAR„Cu numărul binar, și anume,
[[e-mail protejat] ~] # echo "ibase = 2; 11010101 "| bc 213
Descărcați Binary2Decimal.sh
În mod similar, puteți scrie conversie din octal, hexazecimal la zecimal și invers. Realizarea rezultatului de mai sus în terminal folosind „bc‘Comanda este.
[[e-mail protejat] ~] # echo "obase = 8; Zecimal "| bc
[[e-mail protejat] ~] # echo "obase = 16; Zecimal "| bc
[[e-mail protejat] ~] # echo "ibase = 8; Octal "| bc
[[e-mail protejat] ~] # echo "ibase = 16; Hexadecimal "| bc
[[e-mail protejat] ~] # echo "ibase = 2; obase = 8 Binary" | bc
Unele dintre Numeric comun testele utilizate în limbajul de scriptare shell cu descriere este.
Test: INTEGER1 -eq INTEGER2. Înțeles: INTEGER1 este egal cu INTEGER2
Test: INTEGER1 -ge INTEGER2. Înțeles: INTEGER1 este mai mare sau egal cu INTEGER2
Test: INTEGER1 -gt INTEGER2. Înțeles: INTEGER1 este mai mare decât INTEGER2
Test: INTEGER1 -le INTEGER2. Înțeles: INTEGER1 este mai mic sau egal cu INTEGER2
Test: INTEGER1 -lt INTEGER2. Înțeles: INTEGER1 este mai mic decât INTEGER2
Test: INTEGER1 -ne INTEGER2. Înțeles: INTEGER1 nu este egal cu INTEGER2
Asta este tot pentru acest articol și pentru seria de articole. Acesta este ultimul articol din Seria Shell Script și nu înseamnă că niciun articol despre limbajul de scriptare nu va mai fi aici, înseamnă doar că tutorialul de scriptare a shell-ului s-a încheiat și ori de câte ori găsim un subiect interesant care merită cunoscut sau o întrebare de la voi, vom fi bucuroși să continuăm seria de la Aici.
Rămâi sănătos, acordat și conectat la Tecmint. Foarte curând voi veni cu un alt subiect interesant, oamenilor le va plăcea să citească. Împărtășiți-vă gândurile valoroase Secțiunea de comentarii.