This is an old revision of the document!
Interpretorul bash
Tutorial
Completare automată
Aflați toate comenzile care încep cu “who”.
Rulati comanda whoami
tastând un număr minim de taste.
Intrați în directorul rădăcină a sistemului de fișiere. Întorceți-vă, apoi, în directorul vostru home.
Întorceți-vă iar în directorul rădăcină (directorul în care erați înainte) apoi iar în directorul vostru home.
Intrați în directorul Documents din directorul home, folosind un număr minim de caractere.
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').
Reveniți în directorul precedent.
Creați ierarhia de directoare ~/Documents/May/the/Force/by/with/you/.
Intrați în cel mai adânc director din ierarhie fără să scrieți, efectiv, calea.
Reveniți în directorul vostru home.
Intrați iar în directorul ~/Documents/These/are/not/the/droids/you/are/looking/for/.
Vizualizați ce comenzi ați dat până acum.
Sțergeți directoarele noi create.
Scurtături la tastatură
Modificare în mașina virtuală pentru ca exercițiile să meargă:
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.
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
.
Deschideți un nou terminal și încercați să rulați 'll'.
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
a=Alice
b=Bob
echo "$a and $b"
Aveți grijă la ghilimele!
alexj@hathor ~ $ echo "$a and $b"
alice and bob
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
Expandare aritmetică
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
.
Vizualizați conținutul variabilei OUTPUT.
Aflați dimensiunea executabilului comenzii ls
.
OUTPUT=$(which ls)
ls -lah $OUTPUT
unixmix/capitole/capitol-07.1404273395.txt.gz · Last modified: 2014/07/02 06:56 by tpopeea