Bu Bash bir hata gibi görünüyor: man builtinseski davranış başına doğru olanıdır.
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.
bug-bashPosta listesindeki hatayı bildirebilirsiniz ; daha fazla ayrıntı burada .
Aslında, hata bildirildi (uzun zaman önce). Şimdi sabit bir Bash istiyorsanız, şimdi, şimdi , nasıl düzgün bir şekilde yapılacağı (17.10'da test edilmiş, başkaları üzerinde de çalışmalıdır).
Önce çalışmak için bir dizin oluşturun, örneğin:
mkdir ~/bash
cd ~/bash
Kaynak paketi ve derleme bağımlılıklarını alın:
apt-get source bash
sudo apt-get build-dep bash
cd bash-4.4
Düzen config-top.hbunu değiştirmek için (hat 32 olmalı)
#define CD_COMPLAINS
buna
/* #define CD_COMPLAINS */
Düzen debian/changelogve (ayrıca komutunu kullanabilirsiniz üstünde böyle bir giriş ekleyin 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
En önemli noktalar +foo, geçerli sürüm numarasına eklenmelidir ( fooherhangi bir küçük harf dizisi olabilir; ve kullanırsanız dikkatli olun dch -i, son sayıyı artıracaktır, bu yüzden geçerli sayıya geri döndürmeniz gerekir) ve doğru sürüm adı ( artfulburada). Sonunda koş dpkg-source --commit.
Daha sonra debuildkomutu çalıştırabilirsiniz ve her şey yolunda giderse (hakkında hatalar debsigngöz ardı edilebilir) .deb, ana dizinde her zamanki gibi yükleyebileceğiniz bazı s'ler olmalıdır (hepsini yüklemenize gerek yoktur, sadece sizin şimdi var; dpkg -l | grep bashöğrenmek için kullanın ).
Yeni paketin sürüm numarasının gelecekteki güncellemeleri otomatik olarak alacağınız şekilde ayarlandığını unutmayın bash; güncelleme sorunu çözmezse, yukarıdaki işlemi tekrarlamanız gerekir.
(Bu yanıt ilk olarak bu yinelenen soru üzerine gönderildi .)
cdİki konum verirken elde ettiğiniz şey anlamlıdır ve bir şekilde hangisini istediğinizi bulmasını bekler.