Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- declare -i COUNT
- COUNT=0
- PIDS=
- if [ "$#" -lt 2 ]; then
- echo "Za malo argmetnow, prawidlowy format to '$0' 'katalog' 'plik'"
- exit
- else
- if [ ! -d "$1" ]; then
- echo "'$1' nie jest katalogiem"
- exit
- fi
- fi
- for item in $1/*; do
- if [ -d "$item" ]; then
- "$0" "$item" "$2" "$$" & # & wywoluje proces w tle i dalej mozesz uzywac powloki
- # $$ PID procesu bieżącej powłoki
- PIDS+=("$!") # pid ostatniego procesu który był w tle
- elif [ -f "$item" ]; then
- if [ $(basename $item) == "$2" ]; then
- echo "Znaleziono '$2' w folderze '$1'"
- COUNT=$((COUNT+1))
- fi
- fi
- done
- for i in "${PIDS[@]}"; do
- if [ "$i" ]; then
- wait "$i"
- 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
- fi
- done
- 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
- if [ "$COUNT" -eq 0 ]; then
- echo "Nie znaleziono pliku '$2'"
- else
- echo "Znaleziono $COUNT plikow"
- fi
- fi
- exit "$COUNT"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement