Soal 1Apa yang ditampilkan echo $HOME?
Variabel Lingkungan — PATH dan export
Pelajari cara mereferensikan variabel dengan echo $VAR dan env, apa arti HOME dan PATH, menetapkan variabel dengan export, serta command substitution $(...) — praktik langsung di terminal browser.
Mereferensikan Variabel — echo $VAR dan env
Variabel lingkungan adalah pengaturan yang dibagi oleh shell dan program.
Kamu menyimpan nilai di bawah sebuah nama, dan menulis $name menggantikannya dengan nilai itu.
Referensikan satu dengan awalan $, seperti echo $HOME, dan jalankan env untuk menampilkan daftar variabel lingkungan yang sedang diatur.
Sebagai variabel representatif, HOME adalah path ke direktori home-mu (di sini /root), dan PATH adalah daftar tempat mencari perintah yang dipisahkan titik dua.
Mengetik ls saja berhasil karena executable ls ada di salah satu direktori yang terdaftar di PATH, dan shell menemukannya di sana.
Contoh lain: PWD adalah direktori kerja saat ini, USER adalah nama pengguna yang login (di sini root), dan SHELL adalah path ke login shell.
| Variabel | Arti | Contoh di sini |
|---|---|---|
$HOME | Path ke direktori home | /root |
$PATH | Daftar direktori untuk mencari perintah (dipisah :) | /sbin:/usr/sbin:/bin:/usr/bin |
$PWD | Direktori kerja saat ini | /root |
$USER | Nama pengguna yang login | root |
$SHELL | Path ke login shell | /bin/sh |
$name menampilkan satu nilai; env menampilkan daftar semua variabel.echo $HOME # path home (/root)
echo $PATH # daftar path pencarian perintah
env # tampilkan semua variabel lingkungan
Menetapkan Variabel — export dan $(...)
name=value memasukkan nilai ke dalam sebuah variabel, dan menambahkan export name membawa variabel itu ke program yang kamu jalankan kemudian.
Kamu juga bisa menulisnya dalam satu baris sebagai export name=value.
Kamu bisa mereferensikan dengan $name, tetapi membungkusnya sebagai ${name} membuat batas nama variabel jelas, sehingga ia mengembang tanpa ambiguitas bahkan saat ada karakter yang mengikuti langsung, seperti ${HOME}/bin.
Saat ragu, menulis dalam bentuk ${name} direkomendasikan.
$(command) adalah command substitution: ia menjalankan perintah di dalamnya dan menggantinya dengan output itu sebagai string di tempatnya.
Misalnya, echo $(pwd) menampilkan output pwd (path ke lokasimu saat ini) sebagai string.
Pakai saat kamu ingin memasukkan hasil sebuah perintah ke dalam nilai variabel.
| Cara menulis | Arti | Contoh |
|---|---|---|
$VAR | Gantikan dengan nilai variabel | echo $HOME |
${VAR} | Referensikan dengan batas eksplisit (direkomendasikan) | echo ${HOME}/bin |
VAR=value | Tetapkan hanya di shell saat ini | NAME=demo |
export VAR=value | Tetapkan dan bawa ke proses anak | export NAME=demo |
$(command) | Gantikan dengan output perintah | echo $(pwd) |
export membawa nilai ke depan, dan $(...) menyisipkan output sebuah perintah.export GREETING=hello # tetapkan variabel dan bawa ke depan
echo $GREETING # hello
echo "today is $(date)" # sisipkan output perintah dengan $(...)
Cara Kerja PATH — Bagaimana Sebuah Perintah Ditemukan
PATH adalah variabel lingkungan yang mendaftar direktori untuk mencari perintah, dipisahkan titik dua :.
Saat kamu mengetik perintah hanya dengan namanya, tanpa path, seperti ls atau cat, shell menelusuri direktori yang terdaftar di PATH dari kiri ke kanan dan menjalankan executable pertama yang ia temukan.
Itulah sebabnya ls saja berhasil tanpa menulis path lengkap /bin/ls.
Sebaliknya, perintah yang tidak ada di satu pun direktori dalam PATH menghasilkan not found.
Untuk memanggil script milikmu sendiri hanya dengan namanya, kamu perlu menambahkan lokasinya ke PATH, yang akan kita lihat berikutnya.
PATH adalah /sbin:/usr/sbin:/bin:/usr/bin, ls ditelusuri dari /sbin di kiri secara berurutan, ditemukan di /bin, dan pencarian berhenti di sana. Ia tidak pernah sampai ke /usr/bin.Cara Menambah ke PATH
Saat kamu ingin menjalankan perintah milikmu sendiri hanya dengan namanya, tambahkan lokasinya ke PATH.
Tulis sebagai export PATH=${PATH}:/new/dir, menambahkan titik dua dan direktori baru di akhir PATH saat ini.
Kamu menyertakan ${PATH} supaya kamu menambah ke tempat pencarian yang sudah ada tanpa menghapusnya.
Cek Pemahaman
Jawab setiap pertanyaan satu per satu.
Soal 2Mana yang benar tentang peran PATH?
Soal 3Apa yang ditampilkan saat kamu menjalankan echo $(pwd)?