Sunteți pe pagina 1din 5

2012/05/22 08:00 1/5 Interpretorul Bash

Interpretorul Bash

Prezentare

● Slide-uri prezentare

Tutorial

Completare automată

● Aflați toate comenzile care încep cu “who”.


❍ Tastați “who<TAB><TAB>”.
● Rulati comanda whoami tastând un număr minim de taste.
❍ Tastați “whoa<TAB><ENTER>”.
● Intrați în directorul rădăcină a sistemului de fișiere. Întorceți-vă, apoi, în directorul vostru home.
❍ Rulați cd /.
❍ Rulați, apoi, fie cd (fără argumente), fie cd ~.
● Întorceți-vă iar în directorul rădăcină (directorul în care erați înainte) apoi iar în directorul vostru
home.
❍ Rulați cd - și apoi pwd să verificați unde sunteți.
❍ Ruați încă o dată cd - și verificați că ați ajuns în directoul home.
● Intrați în directorul Documents din directorul home, folosind un număr minim de caractere.
❍ Tastați “cd Do<TAB>”.
❍ Nu este suficient? Mai tastați un <TAB> să vedeți opținile pe care le aveți.
❍ Mai adăugați o literă ('c') și tastați <TAB> pentru a completa cu numele directorului.
● Creți în directorul curent (~/Documents) o ierarhie de directoare
~/Documents/These/are/not/the/droids/you/are/looking/for/.
❍ Rulăti comanda mkdir These/are/not/the/droids/you/are/looking/for/.
❍ Nu merge? De ce? Căutați în pagina de manual al lui mkdir (mkdir) informații despre parametrul
-p.
❍ Rulați comanda mkdir -p These/are/not/the/droids/you/are/looking/for/.
● Intrați în cel mai adânc director din ierarhia nou creată (directorul 'for').
❍ Fiți eficienți!
❍ Sper că nu ați pus mâna pe mouse să dați copy/paste la cale.
❍ Tastați “cd
~/Documents/T<TAB><TAB><TAB><TAB><TAB><TAB><TAB><TAB><TAB><TAB>”
● Reveniți în directorul precedent.
❍ Hint: -.
● Creați ierarhia de directoare ~/Documents/May/the/Force/by/with/you/.
❍ Aduceți-vă aminte de parametrul -p.

Interfața în linia de comandă - http://koala.cs.pub.ro/cli/wiki/


Last update: 2012/05/22 07:56 capitole:capitol-05 http://koala.cs.pub.ro/cli/wiki/capitole/capitol-05

● Intrați în cel mai adânc director din ierarhie fără să scrieți, efectiv, calea.
❍ Folosiți-vă de ultimul argument al comenzii precedente, care a fost fix calea.
❍ Tastați “cd <Atl+.>”.
● Reveniți în directorul vostru home.
● Intrați iar în directorul ~/Documents/These/are/not/the/droids/you/are/looking/for/.
❍ Vă aduceți aminte că ați mai făcut asta odată? Refolosiți comanda precedentă!
❍ Tastați Ctrl-r și apoi un cuvânt cheie cum ar fi “droids”.
● Vizualizați ce comenzi ați dat până acum.
❍ Rulați comanda history.
● Sțergeți directoarele noi create.
❍ Aduceți-vă aminte laboratoarele trecute.

Scurtături la tastatură

Modificare în mașina virtuală pentru ca exercițiile să meargă:

● Din meniul gnome-terminal accesați Edit → Keyboard shortcuts.


● Dezactivați cele două opțiuni din ferastra nouă.

● Tastați în prompt mesajul “Ana are mere”.


● Oups… am greșit comanda. Voiam să fie afișat acel mesaj.
❍ Rulați 'echo !!'.
❍ Ce făcea ”!!” ?
● Folosiți reverse search (Ctrl-r) pentru a rescrie la prompt comanda echo Ana are mere, dar fără a
o rula.
❍ Verificați că promptul conține “echo Ana are mere”.
● Transformați mesajul în “Maria are pere”.
❍ Mergeți la începutul comenzi cu Ctrl-a.
❍ Deplasați-vă un cuvânt înainte cu Alt-f și încă un caracter înainte cu Ctrl-f.
❍ Sțergeți cuvântul “Ana” cu Alt-d și înlocuiți-l cu “Maria”
❍ Mai deplasați-vă un cuvânt înainte cu Alt-f și încă un caracter înainte cu Ctrl-f (ar trebui să fiți la
începutul cuvântului “mere”).
❍ Ștergeti primul caracter cu Ctrl-d și înlocuiți-l cu caracterul 'p'.
❍ Ruați comanda rezultată.

Comenzi interne

● Încercați să găsiți executabilul pentru comanda alias.


❍ Hint: which.
❍ De ce nu găsiți nimic?
● Folosiți comanda (internă) help pentru afla informații despre comanda (internă) alias.
● Creați un alias în bash, astfel încât când rulați comanda ll, să ruleze ls -l.
❍ Rulați alias ll=“ls -l”.
❍ Verificați cu type ll că aliasul a fost creat și rulați ll pentru a vedea efectul.
● Deschideți un nou terminal și încercați să rulați 'll'.
❍ Merge?
❍ Rulați comanda alias pentru a lista alias-urile setate în shell-ul curent.

http://koala.cs.pub.ro/cli/wiki/ Printed on 2012/05/22 08:00


2012/05/22 08:00 3/5 Interpretorul Bash

Operatori

Un proces se poate termina cu succes (status 0) sau cu eroare (status diferit de 0).

Statusul ultimului proces se poate vedea cu ajutorul comenzii:

echo $?

true și false sunt două programe care întotdeauna se termină cu succes, respectiv cu eroare.

true
echo $?
0
false
echo $?
1

Folosind operatorii && și ||, putem rula un al doilea proces doar dacă primul proces a avut succes,
respectiv eroare.

Testați următoarele comenzi și observați dacă se execută sau nu procesul echo:

true && echo "Success"

false && echo "Success"

true || echo "Fail"

false || echo "Fail"

Variabile

● Setați două variabile, a și b la “Alice” și “Bob”.

a=Alice
b=Bob

● Afișați mesajul “Alice and Bob”, folosind variabilele.


❍ Expandarea unei variabile se face cu ajutorul operatorului $.

echo "$a and $"

Aveți grijă la ghilimele!

alexj@hathor ~ $ echo "$a and $b"


alice and bob

Interfața în linia de comandă - http://koala.cs.pub.ro/cli/wiki/


Last update: 2012/05/22 07:56 capitole:capitol-05 http://koala.cs.pub.ro/cli/wiki/capitole/capitol-05

alexj@hathor ~ $ echo '$a and $b'


$a and $b
alexj@hathor ~ $ echo `$a and $b`
The program 'alice' is currently not installed. You can install it by
typing:
sudo apt-get install alice

Variabile de mediu

● Intrați în directorul /.
● Printați valoarea variabilei OLDPWD.
❍ Hint: echo, $.
● Rulați comanda cd -.
❍ Ce face variabila ODLPWD?
● Modificați variabila OLDPWD în /tmp și rulati comanda cd -.
❍ Observați efectul modificării variabilei de mediu.

Expandare aritmetică

● Rulați comenzile de mai jos și observați output-ul.


❍ Nu dați doar copy paste, ci scrieți comenzile pentru a observa ce se întâmplă.

A=42
B=28
echo "A=$A and B=$B"
echo "A+B=$(($A+$B))"
A=$(($A+1))
B=$(($B*10))
echo "A=$A and B=$B"

Expandarea comenzilor

● Salvați în variabila OUTPUT ieșirea de la rularea comenzii ls.


❍ Rulați OUTPUT=$(ls).
● Vizualizați conținutul variabilei OUTPUT.
❍ Hint: echo, $.
● Aflați dimensiunea executabilului comenzii ls.
❍ Salvați într-o variabilă output-ul comenzii which ls.
❍ Rulați ls -lh asupra variabilei respective.

OUTPUT=$(which ls)

http://koala.cs.pub.ro/cli/wiki/ Printed on 2012/05/22 08:00


2012/05/22 08:00 5/5 Interpretorul Bash

ls -lah $OUTPUT

From:
http://koala.cs.pub.ro/cli/wiki/ - Interfața în linia de comandă

Permanent link:
http://koala.cs.pub.ro/cli/wiki/capitole/capitol-05

Last update: 2012/05/22 07:56

Interfața în linia de comandă - http://koala.cs.pub.ro/cli/wiki/

S-ar putea să vă placă și