이것은 Bash의 버그처럼 보입니다 man builtins
. 이전 동작이 올바른 것입니다.
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-bash
메일 링리스트 에서 버그를보고 할 수 있습니다 . 자세한 내용은 여기를 참조 하십시오 .
실제로, 버그는 (오래 전에)보고되었습니다. 지금 고정 배쉬를 원하는 경우에, 지금, 지금 , 여기 (17.10 테스트뿐만 아니라 다른 사람에 작동합니다) 제대로하는 방법입니다.
먼저 작업 할 디렉토리를 작성하십시오 (예 :
mkdir ~/bash
cd ~/bash
소스 패키지와 빌드 종속성을 가져옵니다.
apt-get source bash
sudo apt-get build-dep bash
cd bash-4.4
config-top.h
이것을 변경하려면 편집 하십시오 (32 행이어야 함)
#define CD_COMPLAINS
이에
/* #define CD_COMPLAINS */
debian/changelog
상단에 이와 같은 항목을 편집 하고 추가하십시오 (명령을 사용할 수도 있습니다 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
가장 중요한 점은 현재 버전 번호 에 추가 +foo
하는 것 입니다 (소문자로 된 문자열 일 수 있습니다.를 사용하는 경우주의 하십시오. 올바른 출시 이름 ( 여기). 마지막으로을 실행하십시오 .foo
dch -i
artful
dpkg-source --commit
그런 다음 debuild
명령 을 실행할 수 있으며 모든 것이 잘되면 (오류는 debsign
무시할 수 있음) .deb
부모 디렉토리에 s가 있어야합니다.이 디렉토리는 평소와 같이 설치할 수 있습니다 (모두 설치 할 필요는 없습니다) 지금 사용하십시오 dpkg -l | grep bash
.)
새 패키지의 버전 번호는 향후 업데이트를 자동으로 받도록 설정되어 있습니다 bash
. 업데이트로 문제가 해결되지 않으면 위의 과정을 반복해야합니다.
(이 답변은 이 중복 질문 에 처음 게시되었습니다 .)
cd
두 장소 를 제공함에 따라 의미가 있으며 어떻게 든 원하는 위치를 알아낼 것으로 기대합니다.