Unix / Linux - Shell Basic Operators
Hai, para pemrogram yang sedang belajar! Saya sangat senang untuk mengantar Anda ke dunia menarik operator shell Unix/Linux. Sebagai seseorang yang telah mengajar ilmu komputer lebih dari sepuluh tahun, saya bisa memastikan bahwa menguasai operator ini akan menjadi perubahan besar dalam perjalanan pemrograman Anda. Ayo masuk ke dalamnya!
Operator Aritmetik
Operator aritmetik adalah fondasi operasi matematika dalam skrip shell. Mereka memungkinkan kita untuk melakukan perhitungan dasar dalam skrip kita.
Berikut adalah tabel operator aritmetik paling umum:
Operator | Deskripsi | Contoh |
---|---|---|
+ | Penambahan | expr $a + $b |
- | Pengurangan | expr $a - $b |
* | Perkalian | expr $a \* $b |
/ | Pembagian | expr $a / $b |
% | Modulus | expr $a % $b |
= | Penugasan | a=$b |
mari lihat contoh praktis:
#!/bin/bash
a=10
b=5
echo "Penambahan: `expr $a + $b`"
echo "Pengurangan: `expr $a - $b`"
echo "Perkalian: `expr $a \* $b`"
echo "Pembagian: `expr $a / $b`"
echo "Modulus: `expr $a % $b`"
Dalam skrip ini, kita menggunakan perintah expr
untuk melakukan operasi aritmetik. Backticks () digunakan untuk menjalankan perintah
expr` dan menggantikan outputnya.
Ketika Anda menjalankan skrip ini, Anda akan melihat:
Penambahan: 15
Pengurangan: 5
Perkalian: 50
Pembagian: 2
Modulus: 0
Ingat, dalam skrip shell, spasi sangat penting. expr$a+$b
tidak akan bekerja, tetapi expr $a + $b
akan. Itu seperti memberikan ruang bagi variabel Anda untuk bernapas!
Operator Relasional
Operator relasional digunakan untuk membandingkan nilai. Mereka sangat penting untuk membuat kondisi dalam skrip Anda.
Berikut adalah tabel operator relasional:
Operator | Deskripsi | Contoh |
---|---|---|
-eq | Sama dengan | [ $a -eq $b ] |
-ne | Tidak sama dengan | [ $a -ne $b ] |
-gt | Lebih besar dari | [ $a -gt $b ] |
-lt | Lebih kecil dari | [ $a -lt $b ] |
-ge | Lebih besar atau sama dengan | [ $a -ge $b ] |
-le | Lebih kecil atau sama dengan | [ $a -le $b ] |
mari lihat mereka dalam aksi:
#!/bin/bash
a=10
b=20
if [ $a -eq $b ]
then
echo "$a adalah sama dengan $b"
elif [ $a -gt $b ]
then
echo "$a adalah lebih besar dari $b"
else
echo "$a adalah lebih kecil dari $b"
fi
Skrip ini membandingkan a
dan b
menggunakan operator relasional. Ketika Anda menjalankan itu, Anda akan melihat:
10 adalah lebih kecil dari 20
Tips pro: Berpikir tentang operator ini sebagai pertanyaan. "-eq" seperti meminta "Apakah ini sama dengan itu?", "-gt" seperti meminta "Apakah ini lebih besar dari itu?". Itu membantu untuk mengucapkan perbandingan ini saat Anda menulis skrip Anda.
Operator Boolean
Operator boolean memungkinkan kita untuk menggabungkan beberapa kondisi. Mereka seperti lem logis dari skrip Anda.
Berikut adalah tabel operator boolean:
Operator | Deskripsi | Contoh |
---|---|---|
! | NOT | [ ! false ] |
-o | OR | [ $a -lt 20 -o $b -gt 100 ] |
-a | AND | [ $a -lt 20 -a $b -gt 100 ] |
mari gunakan ini dalam skrip:
#!/bin/bash
a=10
b=20
if [ $a -lt 20 -a $b -gt 15 ]
then
echo "Kedua kondisi benar"
else
echo "Setidaknya satu kondisi salah"
fi
Ketika Anda menjalankan skrip ini, Anda akan melihat:
Kedua kondisi benar
Saya suka menganggap operator boolean sebagai alat pengambil keputusan. Mereka membantu skrip Anda membuat pilihan berdasarkan beberapa faktor, seperti yang kita lakukan dalam kehidupan nyata!
Operator String
Operator string digunakan untuk membandingkan dan mengoperasikan string. Mereka sangat berguna saat bekerja dengan data teks.
Berikut adalah tabel operator string:
Operator | Deskripsi | Contoh |
---|---|---|
= | Sama dengan | [ $a = $b ] |
!= | Tidak sama dengan | [ $a != $b ] |
-z | String kosong | [ -z $a ] |
-n | String bukan kosong | [ -n $a ] |
str | String bukan kosong | [ $a ] |
mari lihat mereka dalam aksi:
#!/bin/bash
a="Hello"
b="World"
if [ $a = $b ]
then
echo "String adalah sama"
elif [ -z $a ]
then
echo "String a kosong"
elif [ -n $b ]
then
echo "String b bukan kosong"
else
echo "Tidak ada kondisi di atas benar"
fi
Ketika Anda menjalankan skrip ini, Anda akan mendapatkan:
String b bukan kosong
Operator string adalah seperti aturan grammar dari skrip shell. Mereka membantu Anda membuat sense dari teks yang skrip Anda bekerja dengannya.
Operator Tes File
Operator tes file digunakan untuk tes berbagai kondisi file. Mereka sangat penting saat skrip Anda perlu berinteraksi dengan file dan direktori.
Berikut adalah tabel operator tes file yang umum:
Operator | Deskripsi | Contoh |
---|---|---|
-d file | Direktori ada | [ -d $file ] |
-f file | File ada dan adalah file biasa | [ -f $file ] |
-r file | File dapat dibaca | [ -r $file ] |
-w file | File dapat ditulis | [ -w $file ] |
-x file | File dapat dieksekusi | [ -x $file ] |
-s file | File bukan ukuran nol | [ -s $file ] |
mari gunakan ini dalam skrip:
#!/bin/bash
file="/etc/passwd"
if [ -f $file ]
then
echo "File ada"
if [ -r $file ]
then
echo "File dapat dibaca"
fi
if [ -w $file ]
then
echo "File dapat ditulis"
fi
if [ -x $file ]
then
echo "File dapat dieksekusi"
fi
else
echo "File tidak ada"
fi
Ketika Anda menjalankan skrip ini, Anda mungkin melihat sesuatu seperti:
File ada
File dapat dibaca
Operator tes file adalah seperti detektif file dari skrip Anda. Mereka membantu skrip Anda mengerti apa yang dapat dan tidak dapat dilakukan dengan berbagai file.
Operator Shell C
Shell C (csh) memiliki set operator yang agak berbeda dari Shell Bourne. Berikut adalah beberapa contoh:
#!/bin/csh
set a = 10
set b = 20
if ($a == $b) then
echo "a sama dengan b"
else if ($a != $b) then
echo "a tidak sama dengan b"
endif
if ($a > $b) then
echo "a lebih besar dari b"
else if ($a < $b) then
echo "a lebih kecil dari b"
endif
Dalam Shell C, kita menggunakan ==
untuk kesamaan dan !=
untuk perbedaan. kita juga dapat menggunakan >
dan <
secara langsung untuk perbandingan.
Operator Shell Korn
Shell Korn (ksh) menggabungkan fitur dari Shell Bourne dan Shell C. Berikut adalah contoh:
#!/bin/ksh
a=10
b=20
if ((a == b))
then
print "a sama dengan b"
elif ((a != b))
then
print "a tidak sama dengan b"
fi
if ((a > b))
then
print "a lebih besar dari b"
elif ((a < b))
then
print "a lebih kecil dari b"
fi
Dalam Shell Korn, kita dapat menggunakan ((
dan ))
untuk operasi aritmetik dan perbandingan, yang membuat sintaksis lebih bersih dan intuitif.
Ingat, latihan membuat sempurna! Jangan khawatir untuk mencoba operator ini dalam skrip Anda sendiri. Setiap kali Anda menggunakannya, Anda akan menjadi lebih nyaman dan mahir. Selamat menulis skrip!
Credits: Image by storyset