bash 4.3 "다중 지점" 명령이 Fedora에서 자동으로 실패합니다.

bash 4.3 "다중 지점" 명령이 Fedora에서 자동으로 실패합니다.

방금 bash 4.3에서 이것을 발견했습니다. 정확한 버전 번호는 4.3.42(1)-release(x86-redhat-linux-gnu)입니다.

$ ..
$ ...
$ ....
$ .....

왜 "명령을 찾을 수 없습니다"라는 메시지가 표시되지 않습니까?

$ ...
$ echo $? 
$ 127

나는 확인해 보았으나 $PATH아무것도 발견하지 못했습니다 alias. 그 사람도 도움이 되지 않았습니다.
bash는 Fedora Linux에서 실행되지만 운영 체제와는 아무런 관련이 없다고 생각합니다.

편집하다

방금 이것이 모든 지점 실행 명령에 대해 동일하다는 것을 알았습니다.

.za
.zaza
..za
..zaza

답변1

이는 Fedora에서 명령을 찾을 수 없기 때문에 발생합니다.

알 수 없는 명령( ...별칭이 일치하지 않는 경우 등 포함) 을 실행하면 command_not_found_handle누락된 명령이 인수로 실행됩니다( /etc/profile.d/PackageKit.sh해당 정의 참조). 주어진 시나리오에서는 /usr/libexec/pk-command-not-found누락된 명령을 인수로 사용하여 핸들러가 다시 실행됩니다 . 예전에는 pk-command-not-found단순히모두 무시.:

if (argv[1][0] == '.')
    goto out;

코드 127로 종료되었습니다.

이 행동은소개하다수리하다레드햇 #1151185, 또한 인용됨Bash는 점으로 시작하는 존재하지 않는 명령에 대해 오류 메시지를 인쇄하지 않습니다., 수정을 요청하는 버그가 있습니다(레드햇 #1292531). PackageKit 1.1.8 기준(참조:이번에 제출하세요): 이제 앞에 점이 있는 명령만 처리 .하고 ..무시합니다.

관련 정보