Przejdź do głównej zawartości

bind


  • bind – wbudowane polecenie bash pozwalające przypisywać funkcje do sekwencji klawiszy i modyfikować zachowanie interfejsu linii poleceń.
  • Służy do tworzenia własnych skrótów klawiszowych oraz zmiany domyślnych przypisań w readline (bibliotece obsługującej interaktywną linię poleceń).
  • Dostępne we wszystkich wersjach bash oraz zsh (częściowo kompatybilne).

Okno terminala
bind [opcje] [polecenie]
  • W przypadku wywołania bez argumentów wypisuje aktualne przypisania.
  • Pozwala przypisywać funkcje readline lub własne makra do określonych kombinacji klawiszy.

ParametrOpis
-PWyświetla wszystkie dostępne funkcje readline z opisem.
-pWypisuje aktualne przypisania klawiszy w postaci, którą można ponownie wykorzystać.
-qWypisuje tylko przypisane funkcje.
-lPokazuje listę wszystkich funkcji bash obsługiwanych przez readline.
-f <plik>Ładuje przypisania klawiszy z pliku.
-x <klawisz>:<komenda>Przypisuje własną komendę bash do sekwencji klawiszy.

Okno terminala
# Przykład 1: Wyświetlenie wszystkich funkcji readline
bind -P
# Przykład 2: Przypisanie Ctrl+G do wyczyszczenia ekranu
bind '"\C-g": clear-screen'
# Przykład 3: Przypisanie własnej funkcji do Ctrl+O
bind -x '"\C-o": echo Hello from bind!'
# Przykład 4: Załadowanie przypisań z pliku
bind -f ~/.inputrc

  • Makra vs polecenia: bind może przypisać zarówno funkcje readline (clear-screen), jak i polecenia bash (echo, ls, etc.) za pomocą -x.
  • Zasięg: przypisania obowiązują tylko dla bieżącej sesji, chyba że zostaną zapisane w pliku ~/.inputrc.
  • Unikanie konfliktów: upewnij się, że nie nadpisujesz domyślnych skrótów bash (np. Ctrl+C, Ctrl+D).

Błąd / KomunikatPrzyczynaRozwiązanie
bind: not foundPróba użycia bind poza bashUpewnij się, że korzystasz z powłoki bash.
invalid key sequenceBłędna składnia przypisaniaUżyj poprawnej notacji escape, np. \C-x dla Ctrl+X.
Przypisanie nie działaSkrót jest nadpisywany lub błędnie zdefiniowanySprawdź konflikt z innym skrótem lub upewnij się, że nie ma literówki.