Faceți căutări pe acest blog

sâmbătă, 14 aprilie 2012

Shopt / Shell Options

 Dacă folosiți terminalul măcar din când în când e foarte posibil să ”comiteți” unele mici greșeli enervante de tastare.
 Pentru a ”corecta” din start aceste mici greșeli putem folosi shopt, comandă inclusă în shell-ul bash.
 Deschideți un terminal/ consolă și dați una din comenzile următoare:
help shopt               = astfel veți accesa pagina de help;
shopt -p                   = așa vedeți toate opțiunile shopt, cele ce sunt urmate de -s sunt activate/ setate (unele sunt activate implicit...), cele urmate de -u sunt dezactivate;
shopt -s opțiune    = setăm/ activăm opțiunea respectivă;
shopt -u opțiune    = dezactivăm opțiunea respectivă.



 Pentru persistență adăugăm în fișierul .bashrc opțiunile dorite sub forma unor linii:
#Shell options
shopt -s cdspell
shopt -s dotglob
shopt -s nocaseglob
shopt -s extglob
shopt -q -s checkwinsize

 Pentru ca opțiunile să fie valabile sau reporniți terminalul, sau dați comanda: source .bashrc (dacă sunteți în altă locație decât directorul /home comanda va fi: source ~/.bashrc sau source /home/user/.bashrc) pentru actualizare.
 Haideți să vedem cu câteva exemple concrete CUM ANUME ne ajută aceste opțiuni (glob vine de la global/ universal...):
-cdspell:  corectează greșeli minore de tastare de gen: Desjtop în loc de Desktop, numele corect al unui director;
-dotglob: bash include astfel în calea către obiect și obiectele ce încep cu . (cele ascunse);
- nocaseglob: bash nu va lua în considerare ”nepotrivirea” majuscule/ minuscule (case-insensitive), gen: desktop în loc de Desktop;
-checkwinsize: bash va verifica după fiecare comandă dimensiunea ferestrei.

     Comportament fără și cu opțiuni shopt activate:

 Dacă doriți ca toți utilizatorii sistemului să beneficieze de efectele shopt, adăugați liniile cu shopt -s ... în fișierul /etc/skel/.bashrc, iar pentru userul root în /root/.bashrc.


 Pentru c-ați citit până la capăt materialul acesta, meritați un bonus:
- autocd: opțiune pentru cei leneși, va executa cd (change directory) automat la tastarea numelui unui director; din păcate nu merge combinația mai multor opțiuni, autocd și cdspell sau nocaseglob...Deci fie uitați cd și tastați numele EXACT, fie folosiți comanda cd și vă puteți permite erori!




 Sursă: http://ss64.com/bash/shopt.html
Back to top