Esto parece un error en Bash: según man builtins
el comportamiento anterior es el correcto.
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.
Puede informar el error en la bug-bash
lista de correo; Más detalles aquí .
En realidad, el error fue reportado (hace mucho tiempo). Si desea un Bash fijo ahora, ahora, ahora , aquí le mostramos cómo hacerlo correctamente (probado en 17.10, también debería funcionar en otros).
Primero cree un directorio para trabajar, por ejemplo:
mkdir ~/bash
cd ~/bash
Obtenga el paquete fuente y las dependencias de compilación:
apt-get source bash
sudo apt-get build-dep bash
cd bash-4.4
Editar config-top.h
para cambiar esto (debe ser la línea 32)
#define CD_COMPLAINS
a esto
/* #define CD_COMPLAINS */
Edite debian/changelog
y agregue una entrada como esta en la parte superior (también puede usar el 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
Los puntos más importantes son agregar +foo
al número de versión actual ( foo
puede ser cualquier cadena de letras minúsculas; y tenga cuidado si usa dch -i
, incrementará el último número, por lo que debe revertirlo al actual) y usar el nombre de lanzamiento correcto ( artful
aquí). Finalmente, corre dpkg-source --commit
.
A continuación, puede ejecutar el debuild
comando y, si todo va bien ( debsign
se pueden ignorar los errores ), debe tener algunos .deb
s en el directorio principal, que puede instalar como de costumbre (no es necesario instalarlos todos, solo los que tener ahora; usar dpkg -l | grep bash
para averiguarlo).
Tenga en cuenta que el número de versión del nuevo paquete está configurado para que obtenga automáticamente cualquier actualización futura de bash
; Si la actualización no soluciona el problema, debe repetir el proceso anterior.
(Esta respuesta se publicó por primera vez en esta pregunta duplicada ).
cd
dos ubicaciones, y de alguna manera esperas que descubra cuál quieres.