Seperti yang telah dijelaskan orang lain, direktori diubah dalam proses anak skrip Anda, bukan dalam proses terminal dari mana skrip dipanggil. Setelah proses anak meninggal, Anda kembali ke terminal yang tersisa di tempatnya.
Beberapa alternatif:
1. Tautan simbolik
Letakkan symlink di rumah Anda ke jalur panjang yang ingin Anda akses dengan mudah
$ ln -s /home/alex/Documents/A/B/C ~/pathABC
lalu akses direktori dengan:
$ cd ~/pathABC
2. Alias
Masukkan alias di ~ / .bashrc Anda:
alias pathABC="cd /home/alex/Documents/A/B/C"
(dari sini )
3. Fungsi
Buat fungsi yang mengubah direktori, fungsi berjalan dalam proses terminal Anda dan kemudian dapat mengubah direktori-nya.
(dari sini )
4. Hindari berlari saat kecil
Sumber skrip Anda alih-alih menjalankannya. Sourcing (dilakukan oleh .
atau source
) menyebabkan skrip dieksekusi di shell yang sama dan bukannya dijalankan di subkulitnya sendiri.
$ . ./pathABC
(dari sini dan sini )
5. vars yang dapat di-cd
Setel cdable_vars
opsi di Anda ~/.bashrc
dan buat variabel lingkungan ke direktori:
shopt -s cdable_vars
export pathABC="/home/alex/Documents/A/B/C"
Maka Anda bisa menggunakannya cd pathABC
(dari sini )