Sunteți pe pagina 1din 1

Sisteme de Operare Laborator nr.

Laborator nr. 5

Scripturi shell

Exemple de scripturi:

1. Utilizarea operatorului de expandare {a..z}:

#!/bin/bash #!/bin/bash
for i in {1..10} for i in $(seq 10)
do do
echo -n "$i " echo -n "$i "
done done

echo {a..z} – afiseaza literele de la a la z


Acest operator nu se poate fi folosit ca in exemplul de mai jos:
x=1
y=5
echo {$x..$y}

2. Exemplu de script care se autoapeleaza recursiv. Scriptul trebuie sa aiba drepturi de


executie chiar daca este apelat prin comanda de tipul: bash script.sh. De ce?

#!/bin/bash
# recurse.sh
RANGE=10
MAXVAL=9
i=$RANDOM
let "i %= $RANGE" # Generate a random number between 0 and $RANGE - 1.
if [ "$i" -lt "$MAXVAL" ]
then
echo "i = $i"
./$0 # Script recursively spawns a new instance of itself.
fi
# Each child script does the same, until
#+ a generated $i equals $MAXVAL.
# Using a "while" loop instead of an "if/then" test causes problems.
exit 0

Probleme propuse:

1. Scrieti un script care sa afiseze continutul unui fisier incepind de la ultima linie.
Rezultatul trebui sa fie asemanator comenzii tac
2. Scrieti un script care pentru un parametru primit in linia de comanda sa genereze
urmatoarea structura de directoare pentru o aplicatie C sau C++:
~/<prj_name>|
|-sources/
|-headers/
|-<prj-name>.<c/cpp>
|-<prj-name>.h
Scriptul va intreba utilizatorul ce tip de fisiere trebuie generate C sau C++, precum si
numarul fisierelor sursa si header.

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