Ini terlihat seperti bug di Bash: per man builtins
perilaku lama adalah yang benar.
cd [-L|[-P [-e]] [-@]] [dir]
Change the current directory to dir. if dir is not supplied,
the value of the HOME shell variable is the default. Any
additional arguments following dir are ignored.
Anda dapat melaporkan bug di bug-bash
milis; lebih detail di sini .
Sebenarnya, bug itu dilaporkan (dulu). Jika Anda ingin Bash yang diperbaiki sekarang, sekarang, sekarang , inilah cara melakukannya dengan benar (diuji pada 17.10, harus bekerja pada yang lain juga).
Pertama buat direktori untuk dikerjakan, misalnya:
mkdir ~/bash
cd ~/bash
Dapatkan paket source dan dependensi build:
apt-get source bash
sudo apt-get build-dep bash
cd bash-4.4
Edit config-top.h
untuk mengubah ini (harus baris 32)
#define CD_COMPLAINS
untuk ini
/* #define CD_COMPLAINS */
Edit debian/changelog
dan tambahkan entri seperti ini di bagian atas (Anda juga dapat menggunakan perintah dch -i
):
bash (4.4-5ubuntu1+cd) artful; urgency=medium
* Fix cd.
-- Firas Kraiem <firas@fkraiem.org> Thu, 04 Jan 2018 21:11:22 +0900
Poin yang paling penting adalah menambahkan +foo
ke nomor versi saat ini ( foo
bisa berupa string huruf kecil apa pun; dan berhati-hatilah jika Anda menggunakan dch -i
, itu akan menambah angka terakhir, jadi Anda harus mengembalikannya ke yang sekarang) dan menggunakan nama rilis yang benar (di artful
sini). Akhirnya, jalankan dpkg-source --commit
.
Anda kemudian dapat menjalankan debuild
perintah, dan jika semuanya berjalan dengan baik (kesalahan tentang debsign
dapat diabaikan) Anda harus memiliki beberapa .deb
di direktori induk, yang dapat Anda instal seperti biasa (tidak perlu menginstal semuanya, hanya yang Anda miliki sekarang; gunakan dpkg -l | grep bash
untuk mencari tahu).
Perhatikan bahwa nomor versi paket baru diatur sehingga Anda akan secara otomatis mendapatkan pembaruan di masa mendatang bash
; jika pembaruan tidak memperbaiki masalah, Anda harus mengulangi proses di atas.
(Jawaban ini pertama kali diposting pada pertanyaan rangkap ini .)
cd
dua lokasi, dan entah bagaimana berharap untuk mengetahui mana yang Anda inginkan.