Unix / Linux - Operator Dasar Shell
Ada berbagai operator yang didukung oleh setiap shell. Kami akan membahas secara detail tentang Bourne shell (shell default) di bab ini.
Sekarang kita akan membahas operator berikut -
- Operator Aritmatika
- Operator Relasional
- Operator Boolean
- Operator String
- Operator Uji File
Bourne shell awalnya tidak memiliki mekanisme apa pun untuk melakukan operasi aritmatika sederhana tetapi menggunakan program eksternal juga awk atau expr.
Contoh berikut menunjukkan cara menambahkan dua angka -
#!/bin/sh
val=`expr 2 + 2`
echo "Total value : $val"
Skrip di atas akan menghasilkan hasil sebagai berikut -
Total value : 4
Poin-poin berikut perlu dipertimbangkan saat menambahkan -
Harus ada spasi antara operator dan ekspresi. Misalnya, 2 + 2 tidak benar; itu harus ditulis sebagai 2 + 2.
Ekspresi lengkap harus diapit di antara ‘ ‘, disebut backtick.
Operator Aritmatika
Operator aritmatika berikut ini didukung oleh Bourne Shell.
Asumsikan variabel a memegang 10 dan variabel b memegang 20 lalu -
Tunjukkan Contoh
Operator | Deskripsi | Contoh |
---|---|---|
+ (Penambahan) | Menambahkan nilai di kedua sisi operator | `expr $ a + $ b` akan menghasilkan 30 |
- (Pengurangan) | Mengurangi operan tangan kanan dari operan tangan kiri | `expr $ a - $ b` akan menghasilkan -10 |
* (Perkalian) | Mengalikan nilai di kedua sisi operator | `expr $ a \ * $ b` akan menghasilkan 200 |
/ (Divisi) | Membagi operan tangan kiri dengan operan tangan kanan | `expr $ b / $ a` akan menghasilkan 2 |
% (Modulus) | Membagi operan tangan kiri dengan operan tangan kanan dan mengembalikan sisanya | `expr $ b% $ a` akan menghasilkan 0 |
= (Tugas) | Menetapkan operan kanan di operan kiri | a = $ b akan memberikan nilai b menjadi a |
== (Persamaan) | Membandingkan dua angka, jika keduanya sama maka mengembalikan nilai true. | [$ a == $ b] akan mengembalikan nilai salah. |
! = (Bukan Kesetaraan) | Membandingkan dua angka, jika keduanya berbeda maka mengembalikan nilai benar. | [$ a! = $ b] akan mengembalikan nilai true. |
Sangat penting untuk memahami bahwa semua ekspresi kondisional harus berada di dalam tanda kurung siku dengan spasi di sekitarnya, misalnya [ $a == $b ] benar sedangkan, [$a==$b] salah.
Semua perhitungan aritmatika dilakukan dengan menggunakan bilangan bulat panjang.
Operator Relasional
Bourne Shell mendukung operator relasional berikut yang dikhususkan untuk nilai numerik. Operator ini tidak bekerja untuk nilai string kecuali nilainya numerik.
Misalnya, operator berikut akan bekerja untuk memeriksa hubungan antara 10 dan 20 serta di antara "10" dan "20" tetapi tidak di antara "sepuluh" dan "dua puluh".
Asumsikan variabel a memegang 10 dan variabel b memegang 20 lalu -
Tunjukkan Contoh
Operator | Deskripsi | Contoh |
---|---|---|
-eq | Memeriksa apakah nilai dua operan sama atau tidak; jika ya, maka kondisinya menjadi benar. | [$ a -eq $ b] tidak benar. |
-ne | Memeriksa apakah nilai dua operan sama atau tidak; jika nilainya tidak sama, maka kondisinya menjadi benar. | [$ a -ne $ b] benar. |
-gt | Memeriksa apakah nilai operan kiri lebih besar dari nilai operan kanan; jika ya, maka kondisinya menjadi benar. | [$ a -gt $ b] tidak benar. |
-lt | Memeriksa apakah nilai operan kiri kurang dari nilai operan kanan; jika ya, maka kondisinya menjadi benar. | [$ a -lt $ b] benar. |
-ge | Memeriksa apakah nilai operan kiri lebih besar dari atau sama dengan nilai operan kanan; jika ya, maka kondisinya menjadi benar. | [$ a -ge $ b] tidak benar. |
-le | Memeriksa apakah nilai operan kiri kurang dari atau sama dengan nilai operan kanan; jika ya, maka kondisinya menjadi benar. | [$ a -le $ b] benar. |
Sangat penting untuk dipahami bahwa semua ekspresi kondisional harus ditempatkan di dalam tanda kurung siku dengan spasi di sekitarnya. Sebagai contoh,[ $a <= $b ] benar sedangkan, [$a <= $b] salah.
Operator Boolean
Operator Boolean berikut ini didukung oleh Bourne Shell.
Asumsikan variabel a memegang 10 dan variabel b memegang 20 lalu -
Tunjukkan Contoh
Operator | Deskripsi | Contoh |
---|---|---|
! | Ini adalah negasi logis. Ini membalikkan kondisi sebenarnya menjadi salah dan sebaliknya. | [! false] benar. |
-o | Ini logis OR. Jika salah satu operand benar, maka kondisinya menjadi benar. | [$ a -lt 20 -o $ b -gt 100] benar. |
-a | Ini logis AND. Jika kedua operan bernilai benar, maka kondisinya menjadi benar jika tidak salah. | [$ a -lt 20 -a $ b -gt 100] salah. |
Operator String
Operator string berikut ini didukung oleh Bourne Shell.
Asumsikan variabel a memegang "abc" dan variabel b memegang "efg" lalu -
Tunjukkan Contoh
Operator | Deskripsi | Contoh |
---|---|---|
= | Memeriksa apakah nilai dua operan sama atau tidak; jika ya, maka kondisinya menjadi benar. | [$ a = $ b] tidak benar. |
!= | Memeriksa apakah nilai dua operan sama atau tidak; jika nilainya tidak sama maka kondisinya menjadi benar. | [$ a! = $ b] benar. |
-z | Memeriksa apakah ukuran operan string yang diberikan adalah nol; jika panjangnya nol, maka mengembalikan nilai true. | [-z $ a] tidak benar. |
-n | Memeriksa apakah ukuran operan string yang diberikan bukan nol; jika panjangnya bukan nol, maka hasilnya benar. | [-n $ a] tidak salah. |
str | Memeriksa apakah strbukan string kosong; jika kosong, maka mengembalikan false. | [$ a] tidak salah. |
Operator Uji File
Kami memiliki beberapa operator yang dapat digunakan untuk menguji berbagai properti yang terkait dengan file Unix.
Asumsikan variabel file memegang nama file yang ada "test" yang ukurannya 100 byte dan memiliki read, write dan execute izin pada -
Tunjukkan Contoh
Operator | Deskripsi | Contoh |
---|---|---|
-b file | Memeriksa apakah file adalah file khusus blok; jika ya, maka kondisinya menjadi benar. | [-b $ file] salah. |
-c file | Memeriksa apakah file adalah file khusus karakter; jika ya, maka kondisinya menjadi benar. | [-c $ file] salah. |
-d file | Memeriksa apakah file adalah direktori; jika ya, maka kondisinya menjadi benar. | [-d $ file] tidak benar. |
-f file | Memeriksa apakah file adalah file biasa dibandingkan dengan direktori atau file khusus; jika ya, maka kondisinya menjadi benar. | [-f $ file] benar. |
-g file | Memeriksa apakah file memiliki set bit ID grup (SGID); jika ya, maka kondisinya menjadi benar. | [-g $ file] salah. |
-k file | Memeriksa apakah file memiliki set bit lengket; jika ya, maka kondisinya menjadi benar. | [-k $ file] salah. |
-p file | Memeriksa apakah file adalah pipa bernama; jika ya, maka kondisinya menjadi benar. | [-p $ file] salah. |
-t file | Memeriksa apakah deskriptor file terbuka dan terkait dengan terminal; jika ya, maka kondisinya menjadi benar. | [-t $ file] salah. |
-u file | Memeriksa apakah file memiliki set bit Set User ID (SUID); jika ya, maka kondisinya menjadi benar. | [-u $ file] salah. |
-r file | Memeriksa apakah file dapat dibaca; jika ya, maka kondisinya menjadi benar. | [-r $ file] benar. |
-w file | Memeriksa apakah file dapat ditulis; jika ya, maka kondisinya menjadi benar. | [-w $ file] benar. |
-x file | Memeriksa apakah file dapat dieksekusi; jika ya, maka kondisinya menjadi benar. | [-x $ file] benar. |
-s file | Memeriksa apakah file berukuran lebih besar dari 0; jika ya, maka kondisi menjadi benar. | [-s $ file] benar. |
-e file | Memeriksa apakah file ada; benar meskipun file adalah direktori tetapi ada. | [-e $ file] benar. |
Operator C Shell
Tautan berikut akan memberi Anda gambaran singkat tentang Operator C Shell -
Operator C Shell
Operator Korn Shell
Tautan berikut membantu Anda memahami Operator Korn Shell -
Operator Korn Shell