Lewati ke konten utama

F3 · Modul 06

Skrip shell

54 langkah singkat, dari mudah sampai tantangan.

  1. Level 1

    Kenal

  2. Level 2

    Paham

  3. Level 3

    Terapkan

  4. Level 4

    Tantangan

  5. Level 5

    Pendalaman

Intinya

  • Skrip kokoh diawali #!/usr/bin/env bash dan set -euo pipefail, memeriksa argumennya, dan melapor lewat stderr serta kode keluar 0/1/2.
  • Kutip setiap ekspansi ("$x", "$@", "${daftar[@]}"): tanpa kutip, hasilnya dipecah di IFS dan di-glob.
  • Shell mengembangkan setiap baris dengan urutan tetap: kurung kurawal, tilde, parameter dan substitusi, pemisahan kata, glob, lalu penghapusan kutipan.
  • set -e adalah jaring pengaman yang berlubang; langkah penting tetap diperiksa terang-terangan.
  • trap … EXIT, mktemp di folder tujuan, lalu mv: penulisan atomik yang membersihkan dirinya sendiri.

Sebelum mulai

±4 jam.

Modul ini memakai materi di bawah. Belum yakin? Ulas dulu bagian yang disebut.

Hasil belajar: menulis skrip Bash yang kokoh dari awal sampai akhir: variabel dan ekspansi parameter (${x:-bawaan}, ${x%.csv}, ${x##*/}, ${x:?pesan}); kutipan tunggal, ganda, dan tanpa kutip beserta akibatnya; array; substitusi perintah dan aritmetika; kondisi dengan if, [ ], [[ ]], dan case; perulangan for dan while read; argumen $1, $#, "$@", dan shift; fungsi dengan local dan kode kembali; mode ketat set -euo pipefail beserta batas-batasnya; trap dan mktemp untuk membersihkan diri dan menulis berkas secara atomik; urutan ekspansi shell; ShellCheck; dan kapan sebuah skrip sebaiknya ditulis ulang dengan Python.

Proyek: Perkakas Makmur langkah 6: cadangan.sh SUMBER TUJUAN sesuai kontrak (arsip cadangan-YYYYMMDD-HHMMSS.tar.gz, waktu dari SEKARANG, simpan 7 terbaru, trap membersihkan berkas sementara), dan rekap.sh dirapikan dengan mode ketat (kontrak proyek).

Istilah di modul ini (31)

Ketuk istilah untuk melihat penjelasannya. Di materi, istilah bergaris titik membuka kartu yang sama. Semua istilah course

Bahan modul

Semua kode, latihan, dan data modul ini dalam satu zip, untuk dijalankan di laptop atau Google Colab.

  • 9 berkas latihan + tes
  • 1 berkas data
Lihat isi zip
  • BACA-DULU.txt
  • catatan.txt
  • test_f3_06_3.py
  • test_f3_06_2.py
  • test_f3_06_1.py
  • test_f3_06_4.py
  • test_f3_06_6.py
  • test_f3_06_5.py
  • test_f3_06_7.py
  • test_f3_06_8.py
  • test_f3_06_9.py
  • akses.log