Dies sieht aus wie ein Fehler in Bash: Nach man builtins
dem alten Verhalten ist das richtige.
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.
Sie können den Fehler auf der bug-bash
Mailingliste melden . Weitere Details hier .
Eigentlich wurde der Fehler gemeldet (vor langer Zeit). Wenn Sie jetzt, jetzt, jetzt einen festen Bash möchten , gehen Sie wie folgt vor (wie am 17.10 getestet, sollte auch bei anderen funktionieren).
Erstellen Sie zunächst ein Verzeichnis, in dem Sie arbeiten möchten, zum Beispiel:
mkdir ~/bash
cd ~/bash
Holen Sie sich das Quellpaket und die Build-Abhängigkeiten:
apt-get source bash
sudo apt-get build-dep bash
cd bash-4.4
Bearbeiten config-top.h
, um dies zu ändern (sollte Zeile 32 sein)
#define CD_COMPLAINS
dazu
/* #define CD_COMPLAINS */
Bearbeiten debian/changelog
und fügen Sie oben einen Eintrag wie diesen hinzu (Sie können auch den Befehl verwenden 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
Die wichtigsten Punkte sind das Anhängen +foo
an die aktuelle Versionsnummer ( foo
kann eine beliebige Folge von Kleinbuchstaben sein; und seien Sie vorsichtig, wenn Sie diese verwenden dch -i
, wird die letzte Nummer erhöht, sodass Sie sie auf die aktuelle zurücksetzen müssen) und verwenden Sie die korrekter Release-Name ( artful
hier). Zum Schluss laufen dpkg-source --commit
.
Sie können dann den debuild
Befehl ausführen , und wenn alles gut geht (Fehler debsign
können ignoriert werden), sollten Sie einige .deb
s im übergeordneten Verzeichnis haben, die Sie wie gewohnt installieren können (es ist nicht erforderlich, alle zu installieren, nur die, die Sie haben habe jetzt; benutze dpkg -l | grep bash
um es herauszufinden).
Beachten Sie, dass die Versionsnummer des neuen Pakets so festgelegt ist, dass Sie bei zukünftigen Updates automatisch auf erhalten bash
. Wenn das Update das Problem nicht behebt, müssen Sie den obigen Vorgang wiederholen.
(Diese Antwort wurde zuerst auf diese doppelte Frage gestellt .)
cd
zwei Standorte angeben und irgendwie erwarten, dass es herausfindet, welchen Sie möchten.