Pernyataan If
Termasuk bagian Dasar-Dasar dalam perjalanan Terminal di Coddy. Pelajaran 70 dari 82.
Sejauh ini, skripmu menjalankan setiap perintah dari atas ke bawah tanpa membuat keputusan. Namun, bagaimana jika kamu ingin skripmu melakukan hal yang berbeda berdasarkan kondisi tertentu? Di sinilah pernyataan if digunakan.
Pernyataan if memungkinkan skripmu mengambil keputusan. Pernyataan ini memeriksa apakah suatu kondisi benar, lalu menjalankan blok kode jika benar. Berikut struktur dasarnya:
#!/bin/bash
age=18
if [ $age -ge 18 ]; then
echo "You are an adult"
fiKondisi ditulis di dalam tanda kurung siku dengan spasi di sekelilingnya. Kata kunci then menandai awal kode yang akan dijalankan, dan fi (jika dieja terbalik) mengakhiri pernyataan.
Kamu juga dapat menangani kondisi saat nilainya false menggunakan else:
#!/bin/bash
age=15
if [ $age -ge 18 ]; then
echo "You are an adult"
else
echo "You are a minor"
fiOperator perbandingan umum untuk angka mencakup -eq (sama dengan), -ne (tidak sama dengan), -gt (lebih besar dari), -lt (lebih kecil dari), -ge (lebih besar dari atau sama dengan), dan -le (lebih kecil dari atau sama dengan). Untuk string, gunakan = untuk kesamaan dan != untuk ketidaksamaan.
Ingatlah untuk selalu menyertakan spasi di dalam tanda kurung siku dan mengapit variabelmu dengan tanda kutip agar terhindar dari error saat nilainya kosong.
Tantangan
MudahBuat skrip shell bernama check_score.sh yang menggunakan pernyataan if untuk mengevaluasi nilai ujian.
Skripmu harus:
- Dimulai dengan baris shebang (
#!/bin/bash) - Membuat variabel bernama
scoredengan nilai75 - Menggunakan pernyataan if untuk memeriksa apakah nilai tersebut lebih besar dari atau sama dengan 70
- Jika benar, cetak:
You passed! - Jika salah, cetak:
You failed.
Buat skrip dapat dieksekusi, lalu jalankan. Karena nilainya 75, output-mu seharusnya:
You passed!Petunjuk: Ingat untuk menggunakan
-geuntuk perbandingan “lebih besar dari atau sama dengan”, menyertakan spasi di dalam tanda kurung siku, dan mengakhiri pernyataan if denganfi.Tidak ada editor file di sini, jadi tulis file langsung dari shell menggunakan here-document: ketik
cat > check_score.sh << 'EOF', lalu baris-baris skrip, kemudian baris terakhir yang hanya berisiEOF.
Coba sendiri
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
4Direktori
Buat DirektoriSalin DirektoriPindahkan dan Ganti Nama DirektoriHapus DirektoriUlasan: Operasi Direktori7Isi File
Perintah head dan tailJumlah KataPerintah sortPerintah uniqueDasar-dasar grepgrep dengan FlagUlasan: Detektif Teks10Proyek Analisis Log
Ikhtisar ProyekMelihat File Log13Dasar-Dasar Shell Scripting
Apa Itu Shell ScriptMembuat dan Menjalankan ScriptVariabel dalam ScriptInput Pengguna dalam ScriptPernyataan IfFor LoopWhile LoopRangkuman: Tebak Angka2Navigasi
Tampilkan Direktori KerjaTampilkan Daftar FileGanti DirektoriJalur Absolut vs RelatifDirektori Home dan RootRingkasan: Temukan Arahmu8Pengalihan
Keluaran StandarTimpa FileTambahkan ke FileMasukan StandarStandard ErrorRangkuman: Pembuat Log6Wildcard dan Pola
Wildcard BintangWildcard Tanda TanyaWildcard Kurung SikuMenggabungkan WildcardUlasan: Operasi Selektif9Penggunaan Pipe
Apa Itu PipeMerangkai Dua PerintahMerangkai Beberapa PerintahPipe dengan GrepRingkasan: Pipeline DataLatihan sendiri: Playground Terminal