Advertisement
Andrei_M

OS LAB 2

Feb 25th, 2020
402
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.54 KB | None | 0 0
  1. #!/bin/bash
  2. #prima linie e importanta pt interpretor
  3.  
  4. if [ ! $# -eq 1 ] #verifica nr de argumente
  5. then
  6.     echo "error"
  7.     exit 1 #comanda ca sa iasa din script, altfel continua
  8. fi
  9.  
  10.  
  11.  
  12.  
  13. # if [ ! -d $1 ] #verificam sa fie director
  14. # then
  15. #     echo "error not dirrectory"
  16. #     exit 2
  17. # fi
  18.  
  19.  
  20. echo "Hello" #printeaza "hello"
  21.  
  22. var=10  #nu se pun spatii, nu s-ar face asign
  23.  
  24. echo $var #printeaza valoarea din variabila var
  25.  
  26. echo $abc #search and replace abc cu nimic, deci printeaza nimic
  27.  
  28. echo "hello $var" #printeaza hello 10, se face expand (se rezolva ce este in interiorul ghilimelelor duble
  29.  
  30. echo 'hello $var' #ghilimele simple = hello $var, este asa din cauza interpetorului (bash), cand sunt ghilimele asa, nu se face expand
  31.  
  32.  
  33. #manpage work
  34. #man test
  35. #test este conditia
  36. if test $var -eq 10 #daca $var este 10; se mai poate scrie if [ $var -eq 10 ], fara test si atentie la spatii
  37. then echo "is equal"
  38. else echo "not equal"
  39. fi
  40.  
  41. echo "number of args $#" # ./script.sh a b c   = number of args 3
  42.  
  43. LIST=`ls -l $1 | tr -s ' ' | cut -f 5 -d ' '` #bagam outputul in LIST, tr = un fel de squeze, daca avem mai multe spatii, o sa le reduca la un singur spatiu
  44. echo $LIST #printeaza ce avem in lista
  45.  
  46.  
  47. sum=0 #un fel de initializare
  48. for i in $LIST #o sa ia pe rand elementele din LIST
  49. do
  50.     sum=`expr $sum + $i`
  51. done
  52.  
  53. #echo $sum
  54.  
  55. echo $sum >> out.txt #scrie in alt fisier
  56. cat out.txt #printeaza ce este in out.txt
  57.  
  58.  
  59. if [ ! $# -eq 2 ]
  60. then
  61. echo $sum >> $2 #scrie outputul in al doilea argument
  62.  
  63. else
  64.     echo $sum
  65. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement