Documentaţie > Programator > bash

< Documentatie pentru programatori

bash - Bourne Again SHell

Informații exhaustive se găsesc în manual

Editarea comenzilor (command line editing)

Avantajul folosirii unui interpretor de comenzi (shell text) este acela al automatizării și execuției rapide de sarcini/acțiuni. Bash pune la dispoziția utilizatorului o serie de combinații de taste foarte utile pentru editarea și execuția rapidă a diverselor comenzi shell.

Editarea comenzilor Bash nu este o facilitate integrată. Se realizează prin intermediul bibliotecii Readline. Readline folosește implicit combinații de taste derivate din Emacs. Se poate configura pentru a folosi combinații de taste derivate din vi, dar editarea este ceva mai dificilă.

Mai jos sunt prezentate combinațiile de taste de editare, grupate pe funcționalitate.

Parcurgere

ComandăEchivalentEfectul comenzii
Ctrl+aHomePoziționare la începutul liniei
Ctrl+eEndPoziționare la sfârșitul liniei
Ctrl+fRight ArrowAvans un caracter
Ctrl+bLeft ArrowÎnapoi un caracter
Alt+fCtrl+Righ ArrowAvans un cuvânt
Alt+bCtrl+Left ArrowÎnapoi un cuvânt
Ctrl+l Ștergerea ecranului (clear screen)

Ștergere

ComandăEchivalentEfectul comenzii
Ctrl+dDeleteȘtergere caracter de sub cursor; logout (dacă linia este goală)
Backspace Ștergere caracter de dinaintea cursorului
Alt+d Ștergere de la poziția curentă până la sfârșitul cuvântului
Alt+BackspaceCtrl+wȘtergere de la poziția curentă pâna la începutul cuvântului
Ctrl+k Șterge de la poziția curentă până la sfârșitul liniei
Ctrl+u Șterge de la poziția curentă până la începutul liniei
Ctrl+c Anularea comenzii curente; se poate introduce o comandă nouă
Ctrl+y Copiază ultimul buffer șters (RazvanD: personal, nu prea folosesc comanda)
Alt+y Rotește inelul de buffere șterse (RazvanD: nici asta)

Observații

Unele terminale (spre exemplu Gnome Terminal au unele scurtături de acces la meniul grafic identice cu cele ale Readline și le suprascriu. Pentru editarea eficientă a comenzilor, se recomandă dezactivarea scurtăturilor de acces la meniul grafic. În Gnome Terminal, acest lucru se realizează prin activarea opțiunii File->Keyboard Shordcuts->Disable all menu acess key.

Personal (RazvanD), în Gnome Terminal eu folosesc doar combinațiile Shift+Ctrl+N sau Shift+Ctrl+T pentru a deschide un nou terminal/tab si Alt+1,2,3 ... pentru a naviga între terminale. Nu am nevoie de scurtăturile de acces la meniul grafic; când este nevoie folosesc mouse-ul.

De ce sunt utile scurtăturile de editare a comenzilor?

TODO: idei mai jos:

  • eficiență
  • nu se deplasează degetele pe tastele sageata
  • exemple negative: nu se foloseste ctrl+c, se apasa pe sageti pentru deplasare sau pentru a ajunge la inceputul comenzii, se sterge prin apasarea continua a caracterului Backslash

Alte informații

Mai multe informații se găsesc în manual.

Folosirea istoricului de comenzi (command history)

Completarea comenzilor (command completion)

Resurse utile

< Documentatie pentru programatori