Advertisement
Guest User

Untitled

a guest
Apr 7th, 2020
235
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.22 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3.  
  4. declare -i COUNT
  5. COUNT=0
  6. PIDS=
  7.  
  8. if [ "$#" -lt 2 ]; then
  9.     echo "Za malo argmetnow, prawidlowy format to '$0' 'katalog' 'plik'"
  10.     exit
  11. else
  12.     if [ ! -d "$1" ]; then
  13.         echo "'$1' nie jest katalogiem"
  14.         exit
  15.     fi
  16. fi
  17.  
  18.  
  19. for item in $1/*; do
  20.     if [ -d "$item" ]; then
  21.         "$0" "$item" "$2" "$$" &  # & wywoluje proces w tle i dalej mozesz uzywac powloki
  22.                         # $$ PID procesu bieżącej powłoki
  23.         PIDS+=("$!") # pid ostatniego procesu który był w tle
  24.     elif [ -f "$item" ]; then
  25.         if [ $(basename $item) == "$2" ]; then
  26.    
  27.             echo "Znaleziono '$2' w folderze '$1'"
  28.             COUNT=$((COUNT+1))
  29.            
  30.         fi
  31.     fi
  32. done
  33.  
  34.  
  35. for i in "${PIDS[@]}"; do
  36.     if [ "$i" ]; then
  37.         wait "$i"
  38.         COUNT=$((COUNT+$?)) #$? - kod powrotu ostanio wykonywanego polecenia (0 jeśli polecenie wykonało się poprawnie, innawartość jeśli błędnie). ale tutaj te wait $i zwraca 1, jak znajdzie plika jak nie to 0 bo na koncu jest exit $COUNT
  39.     fi
  40. done
  41.  
  42.  
  43. if [ -z "$3" ]; then # sprawdza czy $3 to pusty string, ale kurwa skad sie wzielo $3, ogolnie te $3 to zwraca pid chyba ale chuj wie jak
  44.     if [ "$COUNT" -eq 0 ]; then
  45.         echo "Nie znaleziono pliku '$2'"
  46.     else
  47.         echo "Znaleziono $COUNT plikow"
  48.     fi
  49. fi
  50.  
  51. exit "$COUNT"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement