Thread View: alt.pl.comp.os.linux.newbie
3 messages
3 total messages
Started by ama
Sat, 11 Dec 2010 18:22
bash i uzupełnianie linii poleceń
Author: ama
Date: Sat, 11 Dec 2010 18:22
Date: Sat, 11 Dec 2010 18:22
25 lines
2099 bytes
2099 bytes
ostatnio odkryłem, że argumenty polecenia wstawiane są przez TAB według jakiegoś tajemniczego klucza. distro to ubuntu, które jak widać staje się chyba coraz bardziej automagiczne chodzi o to, że np. jeśli stoję w katalogu, w którym znajduje się jakiśplik.ext, wpisanie mplayer TAB nie doda mi jako argumentu tego właśnie pliku, jeśli .ext jest teoretycznie nieobsługiwanym formatem mplayera. może na przykładzie: mam folder z plik.m4b. jest to plik o względnie "nowym" rozszerzeniu, który jednakże bardzo ładnie odtwarza się w mplayerze (to chyba jest audiobook w formacie pod ipoda). i teraz: plik niby da się otworzyć, ale wpisanie "mplayer TAB TAB" powoduje, że powłoka nie jest w stanie mi uzupełnić nazwy plik.m4b. inne polecenie, np. "cat TAB" od razu dokłada plik.m4b. zmiana rozszerzenia .m4b na mp3 też powoduje, że TAB dokleja mi plik za mplayerem. jeśli w katalogu będą zarówno pliki .m4b jak i .mp3 (w większej ilości), to "mplayer TAB" wyświetla mi tylko te .mp3, a .m4b ignoruje. wnioskuję z tego, że gdzieś jest jakiś "spis dozwolonych rozszerzeń" dla danego programu, który mi tu miesza. pytanie: gdzie on siedzi, i jak to można zmodyfikować / wyłączyć?
Re: bash i uzupełnianie linii poleceń
Author: Mirosław Zalewski
Date: Sat, 11 Dec 2010 19:11
Date: Sat, 11 Dec 2010 19:11
36 lines
2688 bytes
2688 bytes
grudzień roku pamiętnego 2010, prawdopodobnie 11. Wielka mądrość na
czytelników alt.pl.comp.os.linux.newbie spłynęła, gdy tako rzekł(a) ama:
> ostatnio odkryłem, że argumenty polecenia wstawiane są przez TAB
> według jakiegoś tajemniczego klucza. distro to ubuntu, które jak
> widać staje się chyba coraz bardziej automagiczne
Ten „tajemniczy klucz” to bash-completion i jeśli wierzyć
Debianowemu changelogowi, jest w Ubuntu przynajmniej od sierpnia 2006
roku (w Debianie od 2008). Czyli żadna nowość ;) .
> wnioskuję z tego, że gdzieś jest jakiś "spis dozwolonych rozszerzeń"
> dla danego programu, który mi tu miesza. pytanie: gdzie on siedzi, i
> jak to można zmodyfikować / wyłączyć?
Nie wiem jak w Ubuntu, ale w Debianie jest
katalog /etc/bash_completion.d/ w którym znajdują się pliki z
odpowiednimi funkcjami dla konkretnych programów (z samą listą
rozszerzeń sobie poradzisz, trudno ją przeoczyć). Jest
też /etc/bash_completion, czyli skrypt stanowiący bazę pozostałych.
Możesz ręcznie dopisać odpowiednie rozszerzenia, ale zmiany
prawdopodobnie wyparują podczas najbliższej aktualizacji pakietu
bash-completion. Dobrym pomysłem może być napisanie developerom o tych
rozszerzeniach które obsługuje mplayer, a których nie podpowiada
bash_completion.
Strona projektu:
http://bash-completion.alioth.debian.org/
Jeśli chcesz wyłączyć tę funkcję, zobacz w swoim ~/.bashrc oraz
~/.bash_profile czy nie wczytujesz skryptu bash_completion. Zakomentuj
(na samym początku postaw #) tę linijkę i po następnym zalogowaniu
będziesz miał czystego bash-a.
--
Niżej podpisany, zamieszkały w http://minio.xt.pl ,
Mirosław Zalewski
Re: bash i uzupełnianie linii poleceń
Author: ama
Date: Sat, 11 Dec 2010 22:28
Date: Sat, 11 Dec 2010 22:28
11 lines
1568 bytes
1568 bytes
> Ten „tajemniczy klucz” to bash-completion i jeśli wierzyć > Debianowemu changelogowi, jest w Ubuntu przynajmniej od sierpnia 2006 > roku (w Debianie od 2008). Czyli żadna nowość ;) . wiesz, zawsze myślałem, że bash completion wrzuca albo pliki wykonywalne znajdujące się gdzieś w zmiennej PATH albo - jako argumenty - pliki z bieżącego katalogu. nie wiedziałem, że jest jakieś filtrowanie. a to mianowicie dlatego, że najwyraźniej deweloperzy jak dotąd nadążali za formatami rozszerzeń. :) dzięki za odpowiedź.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads