Sunteți pe pagina 1din 6

MINISTERUL EDUCAȚIEI, CULTURII ȘI CERCETĂRII

AL REPUBLICII MOLDOVA
Universitatea Tehnică a Moldovei
Facultatea Calculatoare, Informatică și Microelectronică
Departamentul Ingineria Software și Automatică

Raport
pentru lucrarea de laborator Nr. 3

la cursul de “Sisteme de operare: mecanisme interne și


principii de proiectare”

Efectuat: Studentul gr. SI-191 Comanac Artiom


Verificat: Gaidarji Alina

Chișinău – 2021

1
Tema: Bazele utilizării consolei a SO GNU/Linux
Scopul: utilizarea consolei, structurilor de control, crearea script-urilor
în bash
Sarcinii:
Executați următorii pași:

1. Creați catalogul propriu în directorul /home/user/. user în cazul dat este


numele utilizatorului. Toate scripturile și fișierele pentru extragerea
rezultatelor le veți crea în acest catalog (mkdir lab3).
2. Scrieți script-uri, care vor rezolva următoarele probleme:
a. De la tastatură, ca parametri, script-ului se transmit două șiruri de
caractere. Afișați un mesaj despre egalitatea sau inegalitatea șirurilor
introduse.
b. De la tastatură, ca parametri, script-ului se transmit trei numere
întregi. Afișați cel mai mare număr.
c. De la tastatură introduceți caractere până când este introdus caracterul
"q". Imprimați șirul introdus pe o singură linie.
d. Introduceți numere întregi de la tastatură, ultimul caracter introdus -
un număr par. Afișați numărul de cifre introduse.
e. Creați un meniu textual din patru elemente. La introducerea
numărului elementului din meniu, va fi lansat editorul nano, editorul
xed, browser-ul Firefox, sau ieșirea din meniu.
f. Dacă scriptul este lansat din directorul Home, afișați calea spre
directorul Home și ieșiți cu codul 0. În caz contrar, ieșiți cu codul 1 și
afișați un mesaj de eroare.

 Sarcina 1

Fig. 1. Crearea catalogului lab3

2
 Sarcina 2 a

#!/bin/bash
read -p "Enter first string: " str1
read -p "Enter second string: " str2
if [ "$str1" == "$str2" ]; then
echo "Strings are equal"
else
echo "Strings are not equal"
fi

Fig. 2. Sarcina 2 a

 Sarcina 2 b

#!/bin/bash
echo "Enter Num 1"
read num1
echo "Enter Num 2"
read num2
echo "Enter Num 3"
read num3
if [ $num1 -gt $num2 ] && [ $num1 -gt $num3 ]
then
echo $num1
elif [ $num2 -gt $num1 ] && [ $num2 -gt $num3 ]
then echo $num2
else
echo $num3
fi

3
Fig. 3. Sarcina 2 b

 Sarcina 2 c

#!/bin/bash
VAR=""
echo "Enter Characters"
read a
while [ $a != "q" ]
do
VAR+="$a"
read a
done

echo "######"
echo "$VAR"

 Sarcina 2 d

#!/bin/bash
VAR=0
echo "Enter NUMBERS"
read a
while [ $(($a % 2)) != 0 ]
do
((VAR++))
Read a
done
echo "######"
echo "$VAR"

4
 Sarcina 2 e

#!/bin/bash
PS3='Please enter your choice: '
options=("nano" "xed" "firefox" "Quit")
select opt in "${options[@]}"
do
case $opt in
"nano")
nano
;;
"xed")
xed
;;
"firefox")
Firefox -new-tab 'https://google.md/'
;;
"Quit")
break
;;
*) echo "error option $REPLY";;
esac
done

 Sarcina 2 f

#!/bin/bash
if [ $PWD == $HOME ]
then
echo "$PWD";
return 0 2>/dev/null
#exit 0;
else
echo -e "ERROR fisierul nu a fost deschis din home";
return 1 2>/dev/null
#exit 1;
Fi

5
Fig. 4. Sarcina 2 f

Concluzii:
Efectuând aceasta lucrarea de laborator au fost studiate bazele utilizării consolei,
structurilor de control, crearea script-urilor în bash. Au fost create, analizate si
executate scripturi bash.

Sarcină pentru lucrul neauditorial:


Explicați noțiunile - stdin, stdout, stderr. Instrucțiunile - sort, uniq, cut, head, tail,
tr. Destinația utilitarelor grep, sed, awk. Clase de caractere POSIX.

stdin – flux de intrare


stdout – flux de ieșire
stderr – flux de erori

sort – sortează textul în ordine de creștere sau descreștere, în dependență de opțiuni


uniq – elimină șirurile care se repetă dintr-un fișier care a fost sortat
cut – extrage unele câmpuri din fișierele textuale (prin câmp înțelegem secvență de
simboluri până la spațiu)
head – extrage liniile de început din fișier la stdout
tail – extrage liniile de sfârșit din fișier la stdout
tr – înlocuiește unele simboluri cu altele

grep – utilitară pentru căutarea și sortarea liniilor introduse și afișarea anumitor


tipare (șiruri de caractere) ca rezultat al procesării
sed – “editor de flux” neinteractiv
awk – utilitară pentru căutarea contextuală și transformare a textului, instrument
pentru extragerea și/sau procesarea câmpurilor (coloanelor) în fișiere text
structurate

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

  • Pma Lab1
    Pma Lab1
    Document7 pagini
    Pma Lab1
    Artem Komanak
    Încă nu există evaluări
  • Pma Lab4
    Pma Lab4
    Document12 pagini
    Pma Lab4
    Artem Komanak
    Încă nu există evaluări
  • Pma Lab2
    Pma Lab2
    Document11 pagini
    Pma Lab2
    Artem Komanak
    Încă nu există evaluări
  • Pma Lab3
    Pma Lab3
    Document4 pagini
    Pma Lab3
    Artem Komanak
    Încă nu există evaluări
  • Somipp Lab4
    Somipp Lab4
    Document7 pagini
    Somipp Lab4
    Artem Komanak
    Încă nu există evaluări
  • Somipp Lab5
    Somipp Lab5
    Document7 pagini
    Somipp Lab5
    Artem Komanak
    Încă nu există evaluări
  • Somipp Lab2
    Somipp Lab2
    Document8 pagini
    Somipp Lab2
    Artem Komanak
    Încă nu există evaluări
  • Somipp Lab1
    Somipp Lab1
    Document5 pagini
    Somipp Lab1
    Artem Komanak
    Încă nu există evaluări
  • Model-Cerere Centralizata SSL 1
    Model-Cerere Centralizata SSL 1
    Document1 pagină
    Model-Cerere Centralizata SSL 1
    Artem Komanak
    Încă nu există evaluări