Belajar dengan membaca secara berurutan

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.

VariabelArtiContoh di sini
$HOMEPath ke direktori home/root
$PATHDaftar direktori untuk mencari perintah (dipisah :)/sbin:/usr/sbin:/bin:/usr/bin
$PWDDirektori kerja saat ini/root
$USERNama pengguna yang loginroot
$SHELLPath ke login shell/bin/sh
Mereferensikan variabel lingkungan
echo $HOME/root (path home)echo $PATHdaftar tempat mencari perintahenvtampilkan semua variabel lingkungan
$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

① Jalankan echo $HOME dan pastikan path ke direktori home ditampilkan.

② Jalankan echo $PATH dan pastikan tempat-tempat mencari perintah terdaftar, dipisahkan titik dua.

③ Jalankan env untuk menampilkan daftar variabel lingkungan yang diatur. (Jalankan dengan benar dan penjelasan akan muncul.)

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

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 menulisArtiContoh
$VARGantikan dengan nilai variabelecho $HOME
${VAR}Referensikan dengan batas eksplisit (direkomendasikan)echo ${HOME}/bin
VAR=valueTetapkan hanya di shell saat iniNAME=demo
export VAR=valueTetapkan dan bawa ke proses anakexport NAME=demo
$(command)Gantikan dengan output perintahecho $(pwd)
export dan command substitution
export NAME=demoteruskan NAME keproses anak jugaecho $NAMEmenampilkan demoecho $(pwd)diganti output 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 $(...)

① Tetapkan variabel lingkungan dengan export NAME=demo.

② Jalankan echo $NAME dan pastikan nilai yang kamu tetapkan, demo, ditampilkan.

③ Jalankan echo $(pwd) dan pastikan output pwd di dalam $(...) ditampilkan sebagai string.

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

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.

Bagaimana sebuah perintah ditemukan via PATH
ketik lstelusuri PATH dari kiriberhenti dikecocokan pertama/sbintidak ada lstempat berikutnya/usr/sbintidak ada lstempat berikutnya/binls ada di sinijalankan /bin/ls/usr/bintidak pernah dicapaipencarian sudahberakhir
Saat 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.

① Pertama tampilkan path pencarian saat ini dengan echo ${PATH}.

② Jalankan export PATH=${PATH}:/opt/bin untuk menambahkan satu lokasi di akhir.

③ Jalankan echo ${PATH} lagi dan pastikan /opt/bin ditambahkan di akhir.

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

Cek Pemahaman

Jawab setiap pertanyaan satu per satu.

Soal 1Apa yang ditampilkan echo $HOME?

Soal 2Mana yang benar tentang peran PATH?

Soal 3Apa yang ditampilkan saat kamu menjalankan echo $(pwd)?