Belajar dengan membaca secara berurutan

Merangkai Perintah — ; && || dan Tanda Kutip

Pelajari eksekusi berurutan dengan ;, eksekusi bersyarat dengan && (saat berhasil) dan || (saat gagal), serta perbedaan tanda kutip tunggal dan ganda dalam ekspansi variabel — praktik langsung di terminal browser.

Merangkai Perintah — ; && ||

Kamu bisa merangkai beberapa perintah dalam satu baris.

; menjalankannya secara berurutan tanpa peduli hasil perintah sebelumnya.

&& menjalankan perintah berikutnya hanya saat yang sebelumnya berhasil, dan || menjalankan yang berikutnya hanya saat yang sebelumnya gagal.

SimbolMenjalankan yang berikut saatContoh
;Selalu, tanpa peduli hasilnyaecho a ; echo b
&&Hanya jika yang sebelumnya berhasil (exit status 0)mkdir d && cd d
||Hanya jika yang sebelumnya gagal (bukan nol)cat f || echo ng
Bagaimana ; && || berbeda
echo A ; echo Bjalankan A dan B tanpa syaratcmd && echo okok hanya jika cmd berhasilcmd || echo ngng hanya jika cmd gagal
; selalu berjalan berurutan, && menjalankan yang berikut saat berhasil, dan || menjalankan yang berikut saat gagal.
echo step1 ; echo step2          # jalankan keduanya berurutan
mkdir build && echo created      # created jika berhasil
ls missing.txt || echo not-found # not-found jika gagal

① Jalankan echo first; echo second dan pastikan ; menampilkan kedua output secara berurutan.

② Jalankan echo ok && echo done dan pastikan && melanjutkan ke yang berikutnya saat yang sebelumnya berhasil.

③ Jalankan cat nofile.txt || echo missing dan pastikan || menjalankan sisi kanan hanya saat yang sebelumnya gagal. (Jalankan dengan benar dan penjelasan akan muncul.)

Linux console
0 / 3 selesai
Loading Linux Terminal...

Menggabungkan && dan || — Bercabang Inline

Kamu bisa menulis && dan || berturut-turut dalam satu baris.

cmd && echo ok || echo ng menjalankan echo ok jika cmd berhasil, dan echo ng jika gagal.

Ini bentuk andalan saat kamu ingin menulis aksi keberhasilan dan kegagalan di satu tempat.

Bercabang dengan menggabungkan && dan ||
cmdbercabang menurutexit status&& echo okok jika cmd berhasil|| echo ngng jika yang sebelumnya gagal
cmd && echo ok || echo ng menampilkan ok jika cmd berhasil, atau ng jika gagal.
mkdir out && echo created || echo failed   # created saat berhasil
ls nofile.txt && echo found || echo none   # none saat gagal

① Jalankan ls . && echo found || echo none dan pastikan found muncul karena ls . berhasil.

② Jalankan cat nofile.txt && echo found || echo none dan pastikan none muncul karena cat gagal.

③ Bandingkan kedua hasilnya dan lihat bagaimana bagian setelah && dan bagian setelah || berganti tergantung berhasil atau gagal.

Linux console
0 / 2 selesai
Loading Linux Terminal...

Perbedaan Tanda Kutip — ' dan "

Ada dua jenis tanda kutip untuk membungkus sebuah string.

Tanda kutip tunggal '...' memperlakukan isinya sebagai karakter literal dan tidak mengganti $VAR.

Tanda kutip ganda "..." mengembangkan $VAR dan $(...) di dalamnya menjadi nilainya.

Keduanya juga dipakai untuk meneruskan string yang mengandung spasi sebagai satu kesatuan.

Tanda kutip$VAR$(...)Contoh → output
'...' (tunggal)Tidak dikembangkan (literal)Tidak dikembangkanecho '$name'$name
"..." (ganda)Dikembangkan menjadi nilaiDikembangkan menjadi output perintahecho "$name"Linux
Ekspansi kutip tunggal vs ganda
name=Linuxtetapkan name jadi Linuxecho '$name'menampilkan $name literalecho "$name"dikembangkan jadi Linux
Tanda kutip tunggal tetap literal; tanda kutip ganda mengembangkan $variable menjadi nilainya.
place=server
echo 'path is $place'   # literal: path is $place
echo "path is $place"   # dikembangkan: path is server

① Tetapkan sebuah variabel dengan name=Linux.

② Jalankan echo '$name' dan pastikan tanda kutip tunggal menampilkan $name secara literal.

③ Jalankan echo "$name" dan pastikan tanda kutip ganda mengembangkannya menjadi nilai Linux.

Linux console
0 / 3 selesai
Loading Linux Terminal...

Menyisipkan Variabel dan Output Perintah dalam Tanda Kutip Ganda

Di dalam tanda kutip ganda kamu bisa membangun satu string dari variabel dan command substitution sekaligus.

$(...) diganti dengan output perintahnya.

Misalnya, $(pwd) diganti dengan path ke lokasimu saat ini sebelum ditampilkan.

Membungkus dengan tanda kutip ganda juga cara dasar untuk meneruskan nilai yang mengandung spasi sebagai satu argumen.

① Tetapkan sebuah variabel dengan user=guest.

② Jalankan echo "hello $user" && echo done dan pastikan variabel mengembang di dalam tanda kutip ganda dan done menyusul saat berhasil.

③ Jalankan echo "now: $(pwd)" dan pastikan $(...) di dalam tanda kutip ganda diganti dengan path saat ini.

Linux console
0 / 3 selesai
Loading Linux Terminal...

Apa Sebenarnya Berhasil dan Gagal Itu — Exit Status dan echo $?

'Berhasil atau gagal' yang diawasi && dan || ditentukan oleh sebuah angka bernama exit status yang ditinggalkan sebuah perintah saat selesai.

0 berarti berhasil dan apa pun selain 0 berarti gagal.

Exit status perintah sebelumnya masuk ke variabel khusus $?, yang bisa kamu cek dengan echo $?.

Exit statusArtiCek
0Perintah sebelumnya berhasilecho $? menampilkan 0
bukan nolPerintah sebelumnya gagalecho $? menampilkan 1, dst.
Membaca exit status dengan echo $?
ls . lalu echo $?0 (berhasil)cat nofile lalu echo $?bukan nol (gagal)
Tepat setelah perintah yang berhasil, echo $? adalah 0; tepat setelah yang gagal, nilainya bukan nol.
ls .            # perintah yang berhasil
echo $?         # exit status sebelumnya -> 0
cat nofile.txt  # perintah yang gagal
echo $?         # exit status sebelumnya -> bukan nol (mis. 1)

① Jalankan ls . lalu echo $?, dan pastikan menampilkan 0 karena berhasil.

② Jalankan cat nofile.txt lalu echo $?, dan pastikan menampilkan bukan nol (seperti 1) karena gagal.

③ Perhatikan bahwa angka dari echo $? itulah yang menjadi dasar keputusan && dan ||.

Linux console
0 / 3 selesai
Loading Linux Terminal...
QUIZ

Cek Pemahaman

Jawab setiap pertanyaan satu per satu.

Soal 1Kapan cmd2 berjalan dalam cmd1 && cmd2?

Soal 2Apa yang ditampilkan echo '$name'? (anggap name=Linux sudah diatur)

Soal 3Mana yang benar tentang peran ||?