0Pricing
DevOps Bootcamp · Pelajaran

Penanganan Galat & Status Keluar

Terapkan pemeriksaan galat yang tangguh dalam skrip dengan memahami status keluar serta menggunakan 'set -e' dan logika kondisional.

Penanganan Galat & Status Keluar adalah pelajaran DevOps Bootcamp gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar DevOps Bootcamp, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus DevOps Bootcamp mencakup 4 pelajaran total.

Selamat Datang di Penanganan Kesalahan

Dalam pelajaran ini, kita akan membuat skrip Bash Anda lebih tangguh dengan mempelajari cara menangani kesalahan secara efektif.

Bayangkan sebuah skrip yang menjalankan banyak langkah. Jika salah satu langkah gagal, Anda tentu ingin skrip tersebut berhenti atau setidaknya mengetahui kegagalannya, bukan? Di sinilah penanganan kesalahan berperan!

Apa Itu Status Keluar?

Setiap perintah yang Anda jalankan di shell Linux mengembalikan status keluar (terkadang disebut kode keluar atau kode pengembalian).

  • Status 0 berarti perintah selesai dengan berhasil.
  • Status bukan nol (misalnya 1, 2, 127) menunjukkan suatu bentuk kegagalan atau kesalahan.

Ini seperti lampu lalu lintas untuk perintah Anda!

Memeriksa Status Keluar Secara Manual

Anda dapat memeriksa status keluar dari perintah yang terakhir dijalankan menggunakan variabel khusus $?.

Mari coba satu perintah yang berhasil dan satu perintah yang gagal:

#!/bin/bash

echo "Hello CoddyKit"
echo "Exit status: $?"

ls non_existent_file.txt
echo "Exit status: $?"

Pemeriksaan Kesalahan Kondisional Dasar

Dengan mengetahui status keluar, skrip Anda dapat mengambil keputusan. Anda dapat menggunakan pernyataan if untuk memeriksa $? dan menanggapi kesalahan.

Hal ini membuat skrip Anda menyadari adanya masalah dan mencegahnya melanjutkan dengan data yang tidak valid.

#!/bin/bash

ls non_existent_file.txt

if [ $? -ne 0 ]; then
  echo "Error: The 'ls' command failed!"
  exit 1 # Exit script with an error code
fi

echo "This line will not run if 'ls' fails."

Kekuatan `set -e`

Memeriksa $? secara manual setelah setiap perintah dapat melelahkan. Di sinilah set -e sangat membantu!

Saat Anda memulai skrip dengan set -e, Bash akan segera keluar jika ada perintah (yang bukan bagian dari pengujian kondisional) yang berakhir dengan status bukan nol.

Ini adalah sakelar keselamatan global untuk skrip Anda!

`set -e` Saat Bekerja

Mari lihat bagaimana set -e mencegah skrip melanjutkan setelah terjadi kesalahan. Perhatikan bahwa perintah echo terakhir tidak pernah tercapai.

#!/bin/bash
set -e

echo "Starting important tasks..."

# This command will fail
cp /non_existent_source /tmp/destination

echo "This line will NOT be printed if 'cp' fails."
echo "All tasks completed successfully."

Saat `set -e` Tidak Menghentikan Skrip

set -e memang kuat, tetapi memiliki aturan tertentu. Perintah ini tidak akan menyebabkan skrip keluar jika perintah yang gagal tersebut:

  • Merupakan bagian dari kondisi if atau while.
  • Merupakan bagian dari daftar && atau || (kecuali perintah terakhir).
  • Didahului oleh !.

Konteks-konteks ini memang dirancang untuk menguji keberhasilan/kegagalan, sehingga `set -e` tidak mengganggu.

Menggabungkan `set -e` dengan `||`

Terkadang Anda ingin menampilkan pesan kesalahan khusus sebelum keluar. Anda dapat menggabungkan set -e dengan operator || (OR).

command || { echo "Error message"; exit 1; }

Jika command gagal, bagian setelah || akan dijalankan, menampilkan pesan Anda, lalu keluar dengan kode kesalahan tertentu.

#!/bin/bash
set -e

echo "Attempting to find a file..."

find /non_existent_dir -name "*.txt" || \
  { echo "ERROR: Could not search in /non_existent_dir!"; exit 1; }

echo "Script continued (this won't print if 'find' fails)."

Menangani Kode Keluar Tertentu

Meskipun 0 berarti berhasil dan nilai bukan nol berarti gagal, kode bukan nol tertentu dapat memiliki arti yang berbeda.

  • 1: Kesalahan umum.
  • 2: Penyalahgunaan bawaan shell.
  • 127: Perintah tidak ditemukan.

Anda dapat menggunakan if [ $? -eq 127 ] untuk memeriksa jenis kegagalan tertentu, sehingga pesan kesalahan yang diberikan dapat lebih sesuai.

Kuis Penanganan Kesalahan

Manakah dari pernyataan berikut tentang status keluar Bash dan penanganan kesalahan yang TRUE?

Ringkasan: Skrip Tangguh

Anda telah mempelajari cara membuat skrip Bash yang jauh lebih andal!

  • Setiap perintah mengembalikan status keluar (0 untuk berhasil, bukan nol untuk gagal).
  • Variabel $? memberikan status keluar dari perintah terakhir.
  • set -e adalah alat yang kuat untuk secara otomatis menghentikan skrip saat sebagian besar perintah gagal.
  • Gabungkan set -e dengan || untuk menampilkan pesan kesalahan khusus.

Dengan menggunakan teknik-teknik ini, Anda akan dapat menulis skrip yang lebih profesional dan stabil.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Penanganan Galat & Status Keluar” gratis?

Ya — teks lengkap “Penanganan Galat & Status Keluar” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus DevOps Bootcamp, upgrade ke CoddyKit PRO. Kursus DevOps Bootcamp mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Penanganan Galat & Status Keluar”?

Terapkan pemeriksaan galat yang tangguh dalam skrip dengan memahami status keluar serta menggunakan 'set -e' dan logika kondisional. Kamu berlatih DevOps Bootcamp dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai DevOps Bootcamp?

Tidak diperlukan pengalaman sebelumnya. DevOps Bootcamp di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Penanganan Galat & Status Keluar” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran DevOps Bootcamp ini?

Ya. Setiap pelajaran DevOps Bootcamp menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Men-debug Skrip Bash (set -x, trap)
  2. Penanganan Galat & Status Keluar
  3. Praktik Terbaik Pembuatan Skrip & Linting
  4. Menguji Skrip Bash dengan Bats
← Kembali ke DevOps Bootcamp