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!

Unix / Linux - Basic Operators

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 perintahexpr` 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