Guest User

Untitled

a guest
Mar 20th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.91 KB | None | 0 0
  1. #!/bin/bash
  2. origin_pos=$HOME
  3. declare -i file_num=0
  4. declare -i dir_num=0
  5. declare -i count2=0
  6. declare -i count=0
  7.  
  8.  
  9. ## Global variable will not work and I wonder that ls creates another process in which globle variables in this shell was not shared.
  10.  
  11. cd "/home"
  12. current_dir=$pwd
  13.  
  14. function file_info {
  15.  
  16. cd $1;
  17. current_dir=$1
  18.  
  19. printf "[ $current_dir ]\n"
  20. ls | while read file_or_dir; do
  21. if [ -d $file_or_dir ]
  22. then
  23. #file_info "$file"
  24. printf "/$current_dir/$file_or_dir/\n"
  25. ((dir_num++))
  26. echo $dir_num
  27. #printf "[ $file ]\n"
  28. else
  29. ((file_num++))
  30. #file_num=$file_num+1
  31. printf "/$current_dir/$file_or_dir\n"
  32. fi
  33. done
  34.  
  35. printf "\n"
  36.  
  37. ls | while read file_or_dir; do
  38. if [ -d $file_or_dir ]
  39. then
  40. file_info $file_or_dir
  41. cd ..
  42. fi
  43. done
  44. }
  45.  
  46.  
  47.  
  48. file_info ${origin_pos:6}
  49.  
  50. echo $file_num
  51.  
  52. cd $origin_pos
  53.  
  54. printf "[ Directories Count ] : $dir_num\n"
  55. printf "[ Files Count ] : $file_num\n"
  56. printf "\n"
  57. echo $count
Add Comment
Please, Sign In to add comment