Niedawno zacząłem od MacOS, ale jest pewne dziwne zachowanie związane z ukończeniem bash
powłoki (w porównaniu do OpenSuse Linux z tcsh, skąd pochodzę), które mnie denerwuje:
Na przykład, kiedy jestem w $ HOME i piszę Pu w wierszu poleceń, a następnie tabuluję, aby zakończyć, oczekiwałem, że jedną z pokazanych opcji będzie mój katalog publiczny /. Dopóki jednak istnieją pliki wykonywalne, dopełnianie nigdy nie pokazuje katalogów o tym samym prefiksie. Dopiero po wejściu w Publ, uzupełnianie tabulacji daje mi Publiczny / ponieważ nie ma już plików wykonywalnych z tym prefiksem.
Moje pytanie brzmiałoby: czy istnieje opcja, aby zakończenie wyświetlało pliki wykonywalne i katalogi z podanym prefiksem?
Próbowałem już zaktualizować wersję bash 4 i zainstalować bash za pomocą homebrew, ale to nie pomogło. Podejrzewam, że albo readline MacOS zachowuje się inaczej, albo że jest więcej ustawień dla .inputrc, o których nie wiem.
Wiem też, że zaczynając od ./ otrzymuję tylko katalogi. To bandaid, którego używam w tej chwili.
zsh
zachowuje się tak, jak opisano, ale bash
najpierw znajdź bezpośrednio katalogi i pliki wykonywalne. Czy mógłbyś dodać w swoim pytaniu: z jakiej powłoki korzystasz i jaki wynik ls -ld Pu*
?
bash
w pytaniu. Dane wyjściowe ls to tylko Public/
folder. Pliki wykonywalne zaczynające się od Pu
znajdują się w niektórych katalogach PATH
. Właściwie dobrze wyjaśniłeś zachowanie w swojej odpowiedzi i mógłbym to zweryfikować.
Tab
dwukrotnie nacisnąć przycisk? O ile mi wiadomo, wyświetli się lista ukończeń.