F3 · Modul 06
Skrip shell
54 langkah singkat, dari mudah sampai tantangan.
Level 1
Kenal
Level 2
Paham
Level 3
Terapkan
Level 4
Tantangan
Level 5
Pendalaman
Intinya
- Skrip kokoh diawali
#!/usr/bin/env bashdanset -euo pipefail, memeriksa argumennya, dan melapor lewat stderr serta kode keluar 0/1/2. - Kutip setiap ekspansi (
"$x","$@","${daftar[@]}"): tanpa kutip, hasilnya dipecah diIFSdan di-glob. - Shell mengembangkan setiap baris dengan urutan tetap: kurung kurawal, tilde, parameter dan substitusi, pemisahan kata, glob, lalu penghapusan kutipan.
set -eadalah jaring pengaman yang berlubang; langkah penting tetap diperiksa terang-terangan.trap … EXIT,mktempdi folder tujuan, lalumv: penulisan atomik yang membersihkan dirinya sendiri.
Sebelum mulai
±4 jam.
Modul ini memakai materi di bawah. Belum yakin? Ulas dulu bagian yang disebut.
- Modul 01 · Terminal dan shellYang dipakai: argumen, kutipan, kode keluar
- Modul 02 · Sistem berkasYang dipakai: glob,
nullglob,mv - Modul 03 · Teks, pipa, dan pengalihanYang dipakai: pipa, heredoc,
pipefail - Modul 05 · Proses dan izinYang dipakai: proses, sinyal, izin
- F1 · Modul 03 · Teks
- F1 · Modul 05 · Perulangan
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