Menghitung Ekspresi Matematika dalam Bahasa Scripting Shell - Bagian V

Menghitung Ekspresi Matematika dalam Bahasa Scripting Shell - Bagian V

Kalian akan merasa nyaman, pengertian Skrip shell dan menulisnya dengan lancar, sesuai kebutuhan Anda. Ini adalah posting terakhir dari seri tutorial ini, di mana kami akan melakukan sedikit kompleks Operasi Matematika menggunakan bahasa skrip. Empat artikel terakhir Scripting shell seri yang secara kronologis.

Pelajari Bagian Scripting Shell - V
  1. Pahami tips bahasa skrip shell linux dasar - Bagian i
  2. 5 Script Shell untuk Pemula Linux Untuk Mempelajari Pemrograman Shell - Bagian II
  3. Berlayar melalui dunia skrip Linux Bash - Bagian III
  4. Aspek Matematika Pemrograman Shell Linux - Bagian IV

Mari kita mulai dengan seri fibonacci

Pola angka di mana setiap angka adalah jumlah dari dua angka sebelumnya. Serial ini 0, 1, 1, 2, 3, 5, 8… Menurut definisi, dua angka pertama di Fibonccai Urutan adalah 0 dan 1.

Skrip 1: Fibonacci.SH
#!/bin/bash echo "Berapa banyak angka yang Anda inginkan dari seri fibonacci ?"Baca total x = 0 y = 1 i = 2 echo" seri fibonacci hingga $ total istilah :: "echo" $ x "echo" $ y "sedangkan [$ i -lt $ total] do i =" expr $ i + 1 "z =" expr $ x + $ y "echo" $ z "x = $ y y = $ z selesai
Output sampel
[[Email Dilindungi] ~]# Chmod 755 Fibonacci.sh [[email dilindungi] ~]# ./Fibonacci.SH berapa banyak angka yang Anda inginkan dari seri fibonacci ? 10 Seri Fibonacci hingga 10 istilah :: 0 1 1 2 3 5 8 13 21 34

Unduh Fibonacci.SH

Anda terbiasa dengan fakta bahwa komputer hanya mengerti dalam format biner, saya.e., '0' Dan '1'Dan kebanyakan dari kita telah menikmati mempelajari konversi Desimal ke Biner. Bagaimana dengan menulis skrip sederhana untuk operasi yang kompleks ini.

Skrip 2: decimal2binary.SH
#!/bin/bash untuk ((i = 32; i> = 0; i--)); do r = $ ((2 ** $ i)) probablity+= ($ r) selesai [[$# -eq 0]] & echo -en "desimal \ t \ tbinary \ n" untuk input_int di [email dilindungi]; do s = 0 test $ #input_int -gt 11 & printf "%-10s \ t" "$ input_int" untuk n di $ probablity [@]; lakukan jika [[$ input_int -lt $ n]]; kemudian [[$ S = 1]] && printf "%d" 0 lain printf "%d" 1; s = 1 input_int = $ (($ input_int - $ n)) fi selesai gema -e selesai
Output sampel
[[email dilindungi] ~]# chmod 755 decimal2binary.sh [[email dilindungi] ~]# ./Decimal2binary.SH 1121 Biner Desimal 1121 10001100001

Catatan: Skrip di atas menerima input pada waktu lari, yang jelas merupakan bantuan.

Unduh Decimal2Binary.SH

Nah, inbuilt 'bc'Perintah dapat mengonversi a desimal ke biner dalam naskah satu baris. Jalankan, di terminal Anda.

[[email dilindungi] ~]# echo "obase = 2; num" | bc

Mengganti 'Num'dengan nomor, yang ingin Anda konversi Desimal ke Biner. Misalnya,

[[email dilindungi] ~]# echo "obase = 2; 121" | BC 1111001

Selanjutnya kita akan menulis skrip yang berfungsi sebaliknya dari skrip di atas, Mengonversi nilai biner ke Desimal.

Skrip 3: biner2decimal.SH
#!/bin/bash echo "Masukkan nomor:" Baca biner jika [$ biner -eq 0] kemudian echo "Masukkan nomor yang valid" else sementara [$ biner -ne 0] do bnumber = $ biner desimal = 0 power = 1 sementara [$ Biner -Ne 0] do Rem = $ (expr $ biner % 10) desimal = $ ((desimal+(rem*power))) power = $ ((power*2)) biner = $ (expr $ biner / 10 ) selesai gema "$ decimal" selesai fi
Output sampel
[[Email Dilindungi] ~]# Chmod 755 Binary2Decimal.sh [[email dilindungi] ~]# ./Biner2decimal.SH Masukkan nomor: 11 3

Catatan: Fungsi di atas dapat dilakukan di terminal menggunakan 'bc'Perintah sebagai.

[[email dilindungi] ~]# echo "ibase = 2; biner" | bc

Mengganti 'Biner'Dengan nomor biner, yaitu.,

[[email dilindungi] ~]# echo "ibase = 2; 11010101" | BC 213

Unduh Binary2Decimal.SH

Demikian pula Anda dapat menulis konversi dari oktal, hexadecimal ke desimal dan sebaliknya diri Anda sendiri. Mencapai hasil di atas dalam penggunaan terminal 'bc'Perintah adalah.

Desimal ke oktal
[[email dilindungi] ~]# echo "obase = 8; desimal" | bc
Desimal ke heksadesimal
[[email dilindungi] ~]# echo "obase = 16; desimal" | bc
Oktal ke desimal
[[email dilindungi] ~]# echo "ibase = 8; octal" | bc
Heksadesimal ke desimal
[[email dilindungi] ~]# echo "ibase = 16; hexadecimal" | bc
Biner ke oktal
[[email dilindungi] ~]# echo "ibase = 2; obase = 8 biner" | bc

Beberapa Numerik umum tes yang digunakan dalam bahasa skrip shell dengan deskripsi adalah.

Tes: integer1 -eq integer2 Arti: integer1 sama dengan integer2
Tes: Integer1 -Ge Integer2 Arti: Integer1 lebih besar dari atau sama dengan integer2
Tes: integer1 -gt integer2 Arti: integer1 lebih besar dari integer2
Tes: integer1 -le integer2 artinya: integer1 kurang dari atau sama dengan integer2
Tes: Integer1 -LT Integer2 Arti: Integer1 kurang dari integer2
Tes: Integer1 -Ne Integer2 Arti: Integer1 tidak sama dengan integer2

Itu saja untuk artikel ini, dan seri artikel. Ini adalah artikel terakhir Seri Skrip Shell Dan itu tidak berarti bahwa tidak ada artikel tentang bahasa skrip akan ada di sini lagi, itu hanya berarti tutorial skrip shell sudah berakhir dan setiap kali kami menemukan topik yang menarik yang layak diketahui atau pertanyaan dari Anda, kami akan dengan senang hati melanjutkan seri ini Di Sini.

Tetap sehat, disetel dan terhubung Tecmint. Segera saya akan datang dengan topik menarik lainnya, kalian akan senang membaca. Bagikan pemikiran berharga Anda Bagian Komentar.