GNU/Linux >> Belajar Linux >  >> Linux

Mengapa Cd Bukan Program?

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:

  1. cd foo
  2. cd proses dimulai
  3. cd proses mengubah direktori untuk proses cd
  4. cd proses keluar
  5. Shell Anda masih memiliki status yang sama, termasuk direktori kerja saat ini, seperti sebelum Anda memulai.

Linux
  1. Mengapa Proses Pgid Anak Bukan Pid Orang Tua?

  2. Mengapa Sigint Tidak Dipropagasi ke Proses Anak Saat Dikirim ke Proses Induknya?

  3. Mengapa Find Tidak Menerima '-exec Cp {} Dir +'?

  1. Mengapa Penundaan Lama Setelah Perintah Tidak Ditemukan?

  2. Mengapa Rm -rf Dan Bukan Rmdir -rf?

  3. Linux:tutup program dengan baris perintah (bukan matikan)

  1. Linux – Mengapa Kami Menggunakan Su – Dan Bukan Hanya Su?

  2. Mengapa Substitusi Proses Bash Tidak Bekerja Dengan Beberapa Perintah?

  3. Mengapa tidak memblokir ICMP?