EN: Read in English
Dunia L4: Dapur Jauh
Gelung dan kod keluar
Anda akan belajar: mengulang langkah dengan gelung for, dan membaca kod keluar program.
Teks BM belum disemak oleh penutur asli.
Disemak dengan Linux (Debian 13) pada 1 Nov 2026
Masalahnya
Anda you di /home/you. 2 benda di sini. Servis: cron berjalan, ssh berjalan, nginx berjalan.
you@kedai:~$Folder ~
- check.sh (fail)
-rwxr-xr-xboleh dijalankan - menu/ (folder)
drwxrwxr-xnasi-lemak.txt roti-canai.txt
+ 3 tersembunyi (ls -a)
Servis
cronberjalanmula semasa bootsshberjalanmula semasa bootnginxberjalanmula semasa boot
Penyemak hidangan kata satu hidangan tiada. Kemudian echo $? cetak 1. Apa maksud 1 itu?
Tengok
loop (gelung) (loop): Buat langkah yang sama untuk setiap item: for dish in a b c; do ...; done. ulang langkah untuk setiap item. Ini check.sh. Tekan baris yang memulakan gelung.
Tekan permulaan gelung.
0 daripada 1 dijumpai
Cuba
Taip gelung anda sendiri, semuanya dalam satu baris.
Anda you di /home/you. 2 benda di sini. Servis: cron berjalan, ssh berjalan, nginx berjalan.
you@kedai:~$Folder ~
- check.sh (fail)
-rwxr-xr-xboleh dijalankan - menu/ (folder)
drwxrwxr-xnasi-lemak.txt roti-canai.txt
+ 3 tersembunyi (ls -a)
Servis
cronberjalanmula semasa bootsshberjalanmula semasa bootnginxberjalanmula semasa boot
Tengok
Setiap program tamat dengan exit code (kod keluar): tanda bagus (0) atau nombor untuk masalah. $? tunjuk yang terakhir. Susun mereka.
Seret kad ke dalam kotak. Atau ketik kad, kemudian ketik kotak.
Teka
Satu hidangan masih tiada. Anda jalankan ./check.sh && echo "Open the shop". Apa jadi?
Pilih satu jawapan.
Cuba
Tambah hidangan yang tiada, kemudian jalankan penyemak lagi. Ia patut tamat dengan 0.
Anda you di /home/you. 2 benda di sini. Servis: cron berjalan, ssh berjalan, nginx berjalan.
you@kedai:~$Folder ~
- check.sh (fail)
-rwxr-xr-xboleh dijalankan - menu/ (folder)
drwxrwxr-xnasi-lemak.txt roti-canai.txt
+ 3 tersembunyi (ls -a)
Servis
cronberjalanmula semasa bootsshberjalanmula semasa bootnginxberjalanmula semasa boot
Semak
Bina: jalankan penyemak, dan hanya jika ia gagal, sebut “Not yet”.
Ketik kepingan ikut turutan yang betul.
Anda berjaya!
Kini anda boleh buat gelung untuk setiap item dan baca kod keluar.
Nak tahu lebih (pilihan)
while [ … ]; do … done berulang selagi soalannya kata ya. systemd juga baca kod keluar anda. Servis timer tunjuk failed bila skripnya tamat bukan sifar. Jadi tamatkan skrip dengan nombor yang bermakna.
Misi sebenar
for f in *.txt; do wc -l "$f"; donels nope; echo $?
0 daripada 2 langkah siap · Tanda anda disimpan.
English
The dish checker says one dish is missing. Then echo $? prints 1. What does that 1 mean?
A loop repeats steps for each item. Here is check.sh. Tap the line that starts the loop.
Type a loop of your own, all on one line.
Every program ends with an exit code: a thumbs-up (0) or a number for trouble. $? shows the last one. Sort them.
One dish is still missing. You run ./check.sh && echo "Open the shop". What happens?
Add the missing dish, then run the checker again. It should end with 0.
Build: run the checker, and only if it fails, say “Not yet”.
You can now loop over items and read exit codes.
Anda dah siapkan ini. Latihan lagi pun bagus!
Dokumentasi rasmi: Bash manual: looping constructs · Bash manual: exit status · Bash manual: lists (&& and ||)
Anda dah belajar 25 minit. Rehat sekejap bantu otak anda.
Pecutan selesai! Fokus yang hebat. Regangkan badan seminit?