Sembra un bug in Bash: per man builtinsil vecchio comportamento è quello corretto.
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.
Puoi segnalare il bug sulla bug-bashmailing list; maggiori dettagli qui .
In realtà, il bug è stato segnalato (molto tempo fa). Se vuoi un Bash fisso ora, ora, ora , ecco come farlo correttamente (testato su 17.10, dovrebbe funzionare anche su altri).
Innanzitutto crea una directory su cui lavorare, ad esempio:
mkdir ~/bash
cd ~/bash
Ottieni il pacchetto sorgente e le dipendenze di compilazione:
apt-get source bash
sudo apt-get build-dep bash
cd bash-4.4
Modifica config-top.hper cambiarlo (dovrebbe essere la riga 32)
#define CD_COMPLAINS
a questa
/* #define CD_COMPLAINS */
Modifica debian/changeloge aggiungi una voce come questa in alto (puoi anche usare il comando 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
I punti più importanti sono aggiungere +fooal numero di versione corrente ( foopuò essere una qualsiasi stringa di lettere minuscole; e fai attenzione se lo usi dch -i, aumenterà l'ultimo numero, quindi devi ripristinarlo a quello corrente) e usare il nome di rilascio corretto ( artfulqui). Infine, corri dpkg-source --commit.
È quindi possibile eseguire il debuildcomando e se tutto va bene (gli errori su debsignpossono essere ignorati) dovresti avere alcuni .debs nella directory principale, che puoi installare come al solito (non è necessario installarli tutti, solo quelli che ora, usa dpkg -l | grep bashper scoprirlo).
Si noti che il numero di versione del nuovo pacchetto è impostato in modo da ricevere automaticamente eventuali aggiornamenti futuri bash; se l'aggiornamento non risolve il problema, è necessario ripetere la procedura sopra descritta.
(Questa risposta è stata pubblicata per la prima volta su questa domanda duplicata .)
cddue posizioni, e in qualche modo ti aspetti che capisca quale vuoi.