Pemrograman Shell : Dasar Operator. Ada berbagai operator yang didukung oleh masing-masing shell.
Pemrograman Shell : Dasar Operator. Ada berbagai operator yang didukung oleh masing-masing shell. tutorial kami didasarkan pada shell default (Bourne) jadi kami akan menutup semua operator Bourne Shell yang penting dalam tutorial.
Ada berikut operator yang kita akan membahas:
- Operator aritmatika.
- Operator relasional.
- Operator Boolean.
- Operator String.
- Berkas Uji Operator.
The Bourne shell aslinya tidak memiliki mekanisme untuk melakukan aritmatika sederhana tetapi menggunakan program eksternal, baik awk atau keharusan sederhana Program expr.
Berikut adalah contoh sederhana untuk menambahkan dua angka:
#!/bin/sh
val=`expr 2 + 2`
echo "Total value : $val"
Ini akan menghasilkan berikut hasil -
Total value : 4
Ada hal-hal berikut untuk diperhatikan :
- Harus ada ruang antara operator dan ekspresi misalnya 2 + 2 tidak benar, mana karena harus ditulis sebagai 2 + 2.
- ekspresi lengkap harus tertutup antara ``, disebut koma terbalik.
Operator Aritmatika
Ada berikut operator aritmatika didukung oleh Bourne Shell.
Asumsikan variabel memegang 10 dan variabel b memegang 20 kemudian -
Tampilkan Contoh :
| Operator | Deskripsi | Contoh |
|---|---|---|
| + | Menambah - Menambahkan nilai pada kedua sisi operator | `expr $a + $b` akan menghasilkan 30 |
| - | Pengurangan - Mengurangi operan kanan dari operan tangan kiri | `expr $a - $b` akan menghasilkan -10 |
| * | Perkalian - nilai Kelipatan di kedua sisi operator | `expr $a \* $b` akan menghasilkan 200 |
| / | Divisi - Membagi operan kiri oleh operan kanan | `expr $b / $a` akan menghasilkan 2 |
| % | Modulus - Membagi operan kiri oleh tangan kanan operan dan kembali sisanya | `expr $b % $a` akan menghasilkan 0 |
| = | Tugas - Menetapkan operan tepat di operan kiri | a=$b akan memberikan nilai dari b ke a |
| == | Kesetaraan - Membandingkan dua nomor, jika keduanya sama kemudian kembali benar. | [ $a == $b ] akan mengembalikan nilai false. |
| != | Tidak Kesetaraan - Membandingkan dua nomor, jika keduanya berbeda kemudian kembali benar. | [ $a != $b ] akan mengembalikan nilai true. |
Hal ini sangat penting untuk dicatat di sini bahwa semua ekspresi kondisional akan dimasukkan dalam kurung persegi dengan satu ruang di sekitar mereka, misalnya [$ a == $ b] benar dimana [$ a == $ b] tidak benar.
Semua perhitungan aritmatika yang dilakukan dengan menggunakan bilangan bulat panjang.
Operator Relasi :
Bourne Shell mendukung berikut operator relasional yang khusus untuk nilai numerik. Operator ini tidak akan bekerja untuk nilai string kecuali nilai mereka numerik.
Misalnya, berikut operator akan bekerja untuk memeriksa relasi antara 10 dan 20 serta di antara "10" dan "20" tapi tidak di antara "sepuluh" dan "dua puluh".
Asumsikan variabel memegang 10 dan variabel b memegang 20 kemudian :
Tampilkan Contoh :
| Operator | Description | Example |
|---|---|---|
| -eq | Memeriksa apakah nilai dari dua operan yang sama atau tidak, jika ya maka kondisi menjadi benar. | [ $a -eq $b ] tidak benar |
| -ne | Memeriksa apakah nilai dari dua operan yang sama atau tidak, jika nilai-nilai yang tidak sama maka kondisi menjadi benar. | [ $a -ne $b ] ini benar |
| -gt | Memeriksa apakah nilai operan kiri lebih besar dari nilai operan kanan, jika ya maka kondisi menjadi benar. | [ $a -gt $b ] tidak benar. |
| -lt | Memeriksa apakah nilai operan kiri kurang dari nilai operan kanan, jika ya maka kondisi menjadi benar. | [ $a -lt $b ] iini benar |
| -ge | Memeriksa apakah nilai operan kiri lebih besar dari atau sama dengan nilai operan kanan, jika ya maka kondisi menjadi benar. | [ $a -ge $b ] is not true. |
| -le | Memeriksa apakah nilai operan kiri kurang dari atau sama dengan nilai operan kanan, jika ya maka kondisi menjadi benar. | [ $a -le $b ] is true. |
Hal ini sangat penting untuk dicatat di sini bahwa semua ekspresi kondisional akan dimasukkan dalam kurung persegi dengan satu ruang di sekitar mereka, misalnya [$ a=$b] benar dimana [$a<=$ b] tidak benar.
Operator Boolen
Ada berikut operator boolean didukung oleh Bourne Shell.
Asumsikan variabel memegang 10 dan variabel b memegang 20 kemudian :
Tampilkan Contoh
| Operator | Deskripsi | COntoh |
|---|---|---|
| ! | Ini adalah negasi logis. Ini membalikkan kondisi benar menjadi salah dan sebaliknya. | [ ! false ] is true. |
| -o | Ini adalah logika OR. Jika salah satu operan benar maka kondisi akan menjadi kenyataan. | [ $a -lt 20 -o $b -gt 100 ] is true. |
| -a | Ini adalah logis AND. Jika kedua operan adalah benar maka kondisi akan menjadi kenyataan jika tidak akan salah. | [ $a -lt 20 -a $b -gt 100 ] is false. |
String Operator
Berikut operator string yang didukung oleh Bourne Shell.
Asumsikan variabel memegang "abc" dan variabel b memegang "efg" kemudian -
Tampilkan Contoh
| Operator | Description | Example |
|---|---|---|
| = | Memeriksa apakah nilai dari dua operan yang sama atau tidak, jika ya maka kondisi menjadi benar. | [ $a = $b ] is not true. |
| != | Memeriksa apakah nilai dari dua operan yang sama atau tidak, jika nilai-nilai yang tidak sama maka kondisi menjadi benar. | [ $a != $b ] is true. |
| -z | Memeriksa apakah string ukuran operan yang diberikan adalah nol. Jika itu adalah nol panjang maka kembali benar. | [ -z $a ] is not true. |
| -n | Memeriksa apakah string ukuran operan yang diberikan adalah non-nol. Jika itu adalah non-nol panjang maka kembali benar. | [ -n $a ] is not false. |
| str | Periksa apakah str tidak string kosong. Jika kosong maka kembali palsu. | [ $a ] is not false. |
File Test Operators
Ada berikut operator untuk menguji berbagai properti yang berhubungan dengan file Unix.
Asumsikan file variabel memegang nama file yang ada "test" yang ukurannya 100 byte dan telah membaca, menulis dan mengeksekusi izin pada -
Tampilkan Contoh
| Operator | Deskripsi | Contoh |
|---|---|---|
| -b file | Cek jika file adalah sebuah blok file khusus jika ya maka kondisi menjadi benar. | [ -b $file ] is false. |
| -c file | Cek jika file adalah karakter file khusus jika ya maka kondisi menjadi benar. | [ -c $file ] is false. |
| -d file | Memeriksa apakah file adalah sebuah direktori jika ya maka kondisi menjadi benar. | [ -d $file ] is not true. |
| -f file | Memeriksa apakah file adalah file biasa sebagai lawan dari direktori atau file khusus jika ya maka kondisi menjadi benar. | [ -f $file ] is true. |
| -g file | Memeriksa apakah berkas memiliki ID group set (SGID) bit set jika ya maka kondisi menjadi benar. | [ -g $file ] is false. |
| -k file | Cek jika file telah sedikit lengket mengatur jika ya maka kondisi menjadi benar. | [ -k $file ] is false. |
| -p file | Cek jika file adalah pipa bernama jika ya maka kondisi menjadi benar. | [ -p $file ] is false. |
| -t file | Cek apakah file descriptor terbuka dan berhubungan dengan terminal jika ya maka kondisi menjadi benar. | [ -t $file ] is false. |
| -u file | Memeriksa apakah berkas memiliki id set user (SUID) bit set jika ya maka kondisi menjadi benar. | [ -u $file ] is false. |
| -r file | Cek apakah file dapat dibaca jika ya maka kondisi menjadi benar. | [ -r $file ] is true. |
| -w file | Memeriksa apakah file dapat ditulis jika ya maka kondisi menjadi benar. | [ -w $file ] is true. |
| -x file | Periksa apakah file mengeksekusi jika ya maka kondisi menjadi benar. | [ -x $file ] is true. |
| -s file | Memeriksa apakah file memiliki ukuran lebih besar dari 0 jika ya maka kondisi menjadi benar. | [ -s $file ] is true. |
| -e file | Memeriksa apakah file ada. Ini berlaku bahkan jika file adalah sebuah direktori tapi ada. | [ -e $file ] is true. |

COMMENTS