bash 릴리스에서 여러 인수를 사용하는 cd의 다른 동작


14

여기에 나를 괴롭히는 무언가를 게시; Jessie에서 Stretch로 애플리케이션 서버를 업그레이드하면 bash스크립트 가 깨졌습니다 .

조사 결과, 우리는 cd지휘관 의 행동 변화로 좁혔습니다 . 스크립트가하는 일이 좋은 아이디어인지 또는 개선 될 수 있는지에 대해서는 여기에서 논의하고 있지 않습니다. 변화 변경에 대한 행동 변화 / 인식에 중점을두고 있습니다.

제시

$echo *-*
xxxx-1.0b xxxx-run
$cd *-*

cd가 작동하고 첫 번째 디렉토리로 cd합니다. 실제로 * -run은 동일한 디렉토리에 대한 심볼릭 링크입니다.

뻗기

$echo *-*
xxxx-1.0b xxxx-run
$cd *-*
bash: cd: too many arguments

bash Jessie에서는 4.3.30 (1), Stretch에서는 4.4.12 (1)입니다.

Jessie와 Stretch 사이의 동작이 변경되는 이유는 무엇입니까?


답변:


23

특히 bash 4.4관련 노트를 참조하십시오.

qq. config-top.h에 설정 가능한 새로운 옵션 cd으로 치명적인 오류 에 대한 여러 디렉토리 인수를 만듭니다 .

BTW, 나는 몰랐다. 방금 "bash cd number 4.4"를 검색했습니다.


8
흥미 롭군 이스케이프 버그가있을 때 추가 인수를 자동으로 버리는 것을 피하는 Good Thing imho.
spectras

@spectras 흥미로운 의견은 보안 측면에서 영향을 줄 수 있다고 생각되었지만 그 각도에서 보이지 않았습니다.
Rui F Ribeiro
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.