У меня есть исполняемый файл в подкаталоге текущего каталога:
~ $ ls -l src/users
-rwxr-xr-x 1 me users 1001K Nov 17 18:52 src/users*
Я пытаюсь выполнить его, набрав sr
и нажав Tab. Есть две возможности для завершения (один каталог у меня дома и один исполняемый файл в /usr /bin /), поэтому я ожидаю, что bash покажет их мне:
~ $ sr
src/ srptool
Вместо этого он завершает имя исполняемого файла srptool
(игнорируя каталог с моим исполняемым файлом).
Я проверил с другим именем каталога и обнаружил, что когда единственным возможным завершением является имя каталога, bash завершает его, как и ожидалось.
У меня такое же поведение в bash 3.2.53 на Mac и 4.3.39 в Linux.
Я помню эту работу раньше. Я не уверен, что это проблема bash или readline. Есть идеи?