Bash 버전에서 여러 인수를 사용하는 CD의 다른 동작

Bash 버전에서 여러 인수를 사용하는 CD의 다른 동작

여기에 혼란스러운 내용을 게시하면 애플리케이션 서버를 Jessie에서 Stretch로 업그레이드하면 bash스크립트가 손상됩니다.

조사 후에 우리는 명령 동작의 변화로 범위를 좁혔습니다 cd. 나는 스크립트가 하는 일이 좋은 아이디어인지 또는 개선될 수 있는지에 대해 논의하기 위해 여기 있는 것이 아니며 단지 행동 변화/변화된 사고 방식에 대한 인식에 초점을 맞추고 있습니다.

제시

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

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

긴장

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

bashJessie에서는 4.3.30(1)이고 Stretch에서는 4.4.12(1)입니다.

Jessie와 Stretch 사이의 행동이 왜 바뀌었나요?

답변1

보다배쉬 4.4 릴리스 노트, 특히

QQ. config-top.h에는 cd여러 디렉터리 매개변수에 대해 치명적인 오류를 발생시키는 새로운 설정 가능한 옵션이 있습니다 .

그건 그렇고, 나는 모른다. 방금 "bash CD 번호 4.4"를 검색했습니다.

관련 정보