Pendahuluan
Bash let
adalah perintah bawaan dalam sistem Linux yang digunakan untuk mengevaluasi ekspresi aritmatika. Tidak seperti evaluasi aritmatika dan perintah perluasan lainnya, let
adalah perintah sederhana dengan lingkungannya sendiri. let
perintah juga memungkinkan untuk ekspansi aritmatika.
Dalam tutorial ini, kita akan membahas sintaks perintah let, opsi, dan contoh penggunaan.
Prasyarat
- Sistem yang menjalankan distribusi Linux
- Akses ke jendela terminal atau baris perintah
Sintaks Pernyataan Bash let
let
perintah menggunakan sintaks dasar berikut:
let [expression]
Dalam sintaks di atas, expression
adalah ekspresi aritmatika yang Anda inginkan let
perintah untuk mengevaluasi. let
hanya berfungsi dengan ekspresi yang berisi bilangan bulat. Perintah tidak mendukung angka floating-point .
let
perintah memungkinkan pengguna untuk mengevaluasi lebih dari satu ekspresi secara bersamaan. Dalam hal ini, sintaksnya adalah:
let [expression 1] [expression 2] … [expression 3]
biarkan Operator Aritmatika
Bash let
perintah mampu mengevaluasi ekspresi yang berisi operator aritmatika dari tabel di bawah ini. Entri terdaftar dalam urutan prioritas yang lebih rendah, dengan operator dengan prioritas yang sama terdaftar di baris yang sama:
Operator | Deskripsi |
var++ var-- | Peningkatan pasca (++): Menafsirkan nilai variabel dan menambahkan 1 ke dalamnya. Pasca-pengurangan (--): Interpretasikan nilai variabel dan kurangi 1 darinya. |
++var --var | Pra-kenaikan (++): Tambahkan 1 ke nilai variabel dan kemudian interpretasikan nilainya. Pra-penurunan (--): Kurangi 1 dari nilai variabel lalu interpretasikan nilainya. |
-expr +expr | Unary minus: Mengembalikan nilai ekspresi dikalikan dengan -1. Unary plus: Mengembalikan nilai ekspresi tidak berubah (dikalikan dengan 1). |
! ~ | Negasi logis: Mengembalikan false jika operan benar dan true jika operan salah. Negasi bitwise: Balikkan bit dalam representasi biner dari suatu angka. |
** | Eksponensial: Naikkan satu bilangan bulat ke pangkat yang lain. |
* / % | Operator aritmatika dasar: Perkalian. Divisi. Sisa (modulo). |
+ - | Operator aritmatika dasar: Tambahan. Pengurangan. |
<< >> | Pergeseran sedikit demi sedikit ke kiri. Sedikit bergeser ke kanan. |
<= >= < > | Perbandingan nilai: Kurang dari atau sama dengan. Lebih dari atau sama dengan. Kurang dari. Lebih besar dari. |
== != | Kesetaraan: Mengembalikan nilai true jika operan sama. Ketidaksetaraan: Mengembalikan false jika operan sama. |
& | Bitwise DAN: Mengalikan digit yang sesuai dari dua nilai biner. |
^ | Bitwise XOR: Membandingkan digit yang sesuai dari dua nilai biner dan mengembalikan 1 jika digitnya berbeda. |
| | Bitwise ATAU: Membandingkan digit yang sesuai dari dua nilai biner dan mengembalikan 1 jika salah satu digit adalah 1. |
&& | Logis DAN: Mengembalikan nilai true jika kedua operan benar. |
|| | Logis ATAU: Mengembalikan nilai true jika salah satu operan bernilai true. |
expr1 ? expr2 : expr3 | Operator bersyarat: Jika expr1 benar, kembalikan expr2 . Jika expr1 salah, kembalikan expr3 . |
=, *=, /=, %=, +=, -=, <<=, >>=, &=, ^=, |= | Tugas: Tetapkan nilai ke variabel. |
Bash biarkan Contoh
let
perintah memungkinkan Anda menetapkan nilai ke variabel dan melakukan operasi aritmatika, bitwise, dan logis. Baca bagian di bawah untuk contoh.
Menetapkan Nilai ke Variabel
Gunakan let
perintah untuk menetapkan nilai ke variabel dengan:
let "[variable] = [value]"
Misalnya, tetapkan nilai 5 ke variabel var1 dan cetak nilainya sebagai output:
let "var1 = 5"; echo $var1
Demikian juga, setelah menetapkan nilai variabel, let
perintah memungkinkan Anda menetapkan nilai yang sama ke variabel lain:
let "var1 = 5" "var2=var1"; echo $var2
Melakukan Operasi Aritmatika Dasar
Setelah menyetel nilai variabel, gunakan let
perintah untuk melakukan operasi aritmatika dasar. Misalnya, setel var1 sebagai 6 dan var2 sebagai 2 dan melakukan penjumlahan, pengurangan, perkalian, pembagian, dan modulus:
let "var1 = 6" "var2 = 2" "var3=var1+var2"; echo $var3
let "var1 = 6" "var2 = 2" "var3=var1-var2"; echo $var3
let "var1 = 6" "var2 = 2" "var3=var1*var2"; echo $var3
let "var1 = 6" "var2 = 2" "var3=var1/var2"; echo $var3
let "var1 = 6" "var2 = 2" "var3=var1%var2"; echo $var3
Dalam contoh ini, let
perintah menyetel nilai var3 sebagai hasil dari operasi aritmatika dan mencetak hasilnya.
Melakukan Eksponensial
let
perintah membutuhkan dua nilai bilangan bulat untuk melakukan eksponensial . Nilai pertama (base
) dipangkatkan dengan nilai kedua (power
):
let "[base] ** [power]"
Misalnya, untuk menaikkan nilai dasar 3 ke pangkat 2 dan mencetak hasilnya, gunakan perintah ini:
let "var1 = 3 ** 2"; echo $var1
Melakukan Operasi Unary
Gunakan unary minus dengan let
perintah untuk mengubah ekspresi dari positif ke negatif dan sebaliknya:
let "var1 = 2 + 3" "var1=-var1"; echo $var1
unary plus mengalikan ekspresi dengan 1 dan mengembalikan nilai yang tidak berubah:
let "var1 = 2 + 3" "var1=+var1"; echo $var1
Mengubah Nilai Variabel Secara Bertahap
Menggunakan post-increment atau pasca-pengurangan operator menafsirkan nilai variabel dan kemudian menambah atau menguranginya dengan 1:
let "var1 = 10" "var2=var1++"; echo $var1 $var2
Pada contoh di atas, variabel var2 mendapatkan nilai var1 (10) sebelum ditambah 1. Hal yang sama terjadi saat melakukan post-decrement:
let "var1 = 10" "var2=var1--"; echo $var1 $var2
Melakukan pra-peningkatan meningkatkan nilai var1 dengan 1 (11), lalu tetapkan nilai baru ke var2 :
let "var1 = 10" "var2=++var1"; echo $var1 $var2
Melakukan pra-penurunan melakukan hal yang sama. Namun, kali ini menurunkan nilai var1 dengan 1 (9):
let "var1 = 10" "var2=--var1"; echo $var1 $var2
Melakukan Pergeseran Bit
Melakukan pergeseran bit menggunakan let
perintah menggeser urutan digit dalam bilangan biner ke kiri atau kanan. Misalnya, melakukan pergeseran bit ke kiri dari angka 8 dua kali mengalikannya dengan dua dua kali:
let "var1 = 8 << 2"; echo $var1
Sebaliknya, melakukan pergeseran bit ke kanan dua kali membagi nilai dengan 2 dua kali:
let "var1 = 8 >> 2"; echo $var1
Melakukan Operasi Bitwise
Sebuah negasi sedikit demi sedikit membalik setiap digit bilangan biner. Operasi ini mengubah 1 menjadi 0 dan sebaliknya:
let "var1 = 5" "var2=~var1"; echo $var2
Pada contoh di atas, perintah let mengonversi nilai 5 menjadi bilangan bulat bertanda 32-bit (000000000000000000000000000000001) dan membalikkan digitnya. Operasi ini menghasilkan -6 (11111111111111111111111111111010).
Sebuah sedikit demi sedikit DAN operator mengubah sepasang nilai menjadi bilangan bulat bertanda 32-bit dan membandingkan digit secara berurutan. Tindakan mengembalikan 1 jika kedua digit adalah 1, atau jika tidak mengembalikan 0:
let "var1 = 5" "var2 = 10" "var3 = var1&var2"; echo $var3
bitwise ATAU operator membandingkan digit yang sesuai dari dua nilai dan mengembalikan 1. Tapi, setidaknya salah satu bit harus 1:
let "var1 = 5" "var2 = 10" "var3 = var1|var2"; echo $var3
XOR bitwise operator membandingkan digit yang sesuai dari dua nilai dan mengembalikan 0 jika digitnya cocok. Jika tidak, operator akan mengembalikan 1:
let "var1 = 5" "var2 = 10" "var3 = var1^var2"; echo $var3