Unix / Linux - Keputusan Shell
Hai, para pemula programmer! Hari ini, kita akan melihat dunia yang menarik dari keputusan dalam skrip shell Unix dan Linux. Sebagai guru komputer tetangga yang ramah, saya disini untuk mengajarkan Anda perjalanan ini, langkah demi langkah. Jadi, ambil minuman favorit Anda, betahkan diri, dan mari kita mulai petualangan ini bersama!
Statement if...else
Bayangkan Anda di persimpangan di kode Anda, dan Anda perlu membuat keputusan berdasarkan beberapa kondisi. Itu adalah tempat statement if...else
sangat berguna. Mereka seperti lampu lalu lintas dalam pemrograman, memandu kode Anda ke jalur yang berbeda berdasarkan apakah kondisi benar atau salah.
Statement if dasar
Mari kita mulai dengan bentuk paling sederhana dari statement if
:
if [ condition ]
then
command1
command2
...
commandN
fi
Ini adalah contoh dari dunia nyata:
#!/bin/bash
age=18
if [ $age -ge 18 ]
then
echo "Anda sudah cukup umur untuk memesan!"
fi
Dalam contoh ini, kita memeriksa apakah variabel age
lebih besar atau sama dengan 18. Jika ya, pesan "Anda sudah cukup umur untuk memesan!" akan ditampilkan.
Statement if...else
Apa bila kita ingin melakukan sesuatu saat kondisi salah? Itu adalah tempat klausa else
masuk:
if [ condition ]
then
command1
command2
...
commandN
else
alternative_command1
alternative_command2
...
alternative_commandN
fi
Mari kita modifikasi contoh pemilihan:
#!/bin/bash
age=16
if [ $age -ge 18 ]
then
echo "Anda sudah cukup umur untuk memesan!"
else
echo "Maaf, Anda masih terlalu muda untuk memesan."
fi
Sekarang, jika umur kurang dari 18, itu akan menampilkan pesan "Maaf, Anda masih terlalu muda untuk memesan."
Statement if...elif...else
kadang-kadang, kehidupan (dan kode) tidaklah hanya hitam dan putih. Kita sering perlu memeriksa beberapa kondisi. Itu adalah tempat klausa elif
(else if) masuk:
if [ condition1 ]
then
command1
elif [ condition2 ]
then
command2
else
alternative_command
fi
Mari kita buat contoh yang lebih kompleks:
#!/bin/bash
grade=75
if [ $grade -ge 90 ]
then
echo "A - Excelent!"
elif [ $grade -ge 80 ]
then
echo "B - Bagus!"
elif [ $grade -ge 70 ]
then
echo "C - Anda lulus."
else
echo "F - Anda perlu belajar lebih banyak."
fi
Skrip ini mengevaluasi nilai siswa dan memberikan umpan balik yang sesuai berdasarkan rentang nilai yang berbeda.
Statement case...esac
Bayangkan Anda di buffet dengan banyak pilihan makanan. Itu seperti statement case...esac
dalam pemrograman. Itu memungkinkan Anda untuk mencocokkan nilai terhadap daftar pola dan menjalankan perintah berdasarkan kecocokan.
Sintaks dasar terlihat seperti ini:
case expression in
pattern1)
command1
command2
...
commandN
;;
pattern2)
command1
command2
...
commandN
;;
*)
default_command
;;
esac
Mari kita lihat contoh praktis:
#!/bin/bash
fruit="apple"
case $fruit in
"apple")
echo "Itu buah merah yang lezat!"
;;
"banana")
echo "Itu buah kuning yang melengkung!"
;;
"orange")
echo "Itu buah jeruk yang manis!"
;;
*)
echo "Saya tidak tahu buah itu."
;;
esac
Dalam contoh ini, kita mencocokkan nilai fruit
terhadap pola yang berbeda. Jika cocok dengan "apple", pesan yang sesuai akan ditampilkan. Jika tidak cocok dengan pola yang ditentukan, itu akan menjalankan kasus default (*
).
Beberapa pola
Anda juga dapat mencocokkan beberapa pola untuk menjalankan satu set perintah:
#!/bin/bash
day=$(date +%A)
case $day in
Monday|Tuesday|Wednesday|Thursday|Friday)
echo "Ini hari kerja. Waktu untuk kerja!"
;;
Saturday|Sunday)
echo "Ini akhir pekan. Waktu untuk berehat!"
;;
*)
echo "Di planet mana Anda?"
;;
esac
Skrip ini memeriksa hari dalam minggu saat ini dan mengoutputkan apakah itu hari kerja atau akhir pekan.
Perbandingan antara if...else dan case...esac
Sekarang, mari kita bandingkan dua struktur keputusan ini:
Fitur | if...else | case...esac |
---|---|---|
Kompleksitas | Dapat menangani kondisi kompleks | Terbaik untuk pencocokan nilai sederhana |
Bacaan | Dapat sulit dibaca dengan banyak kondisi | Lebih mudah dibaca dengan banyak kondisi |
Performa | Sedikit lambat untuk banyak kondisi | Lebih cepat untuk banyak kondisi |
Fleksibilitas | Dapat menggunakan jenis kondisi apa saja | Terbatas ke pencocokan pola |
Dalam tahun-tahun mengajar saya, saya sering melihat murid-murid berjuang untuk memilih antara if...else
dan case...esac
. Ini adalah aturan jitu: jika Anda memeriksa variabel tunggal terhadap nilai yang berbeda, case...esac
adalah teman Anda. Untuk yang lainnya, tinggal dengan if...else
.
Ingat, pemrograman adalah seperti memasak. Struktur keputusan ini adalah bahan-bahan Anda, dan dengan latihan, Anda akan belajar saat untuk menggunakan masing-masing untuk menciptakan makanan... ya, saya bermaksud skrip! Tetap latihan, dan segera Anda akan menulis skrip yang dapat membuat keputusan lebih cepat dari apa yang Anda katakan "sudo"!
Credits: Image by storyset