Saya selalu bertanya-tanya mengapa cd
bukanlah sebuah program, tetapi tidak pernah berhasil menemukan jawabannya.
Adakah yang tahu mengapa ini terjadi?
Jawaban yang Diterima:
cd
perintah memodifikasi "direktori kerja saat ini", kan?
"direktori kerja saat ini" adalah properti yang unik untuk setiap proses.
Jadi, jika cd
adalah sebuah program yang akan bekerja seperti ini:
cd foo
cd
proses dimulaicd
proses mengubah direktori untuk proses cdcd
proses keluar- Shell Anda masih memiliki status yang sama, termasuk direktori kerja saat ini, seperti sebelum Anda memulai.