Advertisement
Guest User

Untitled

a guest
Nov 25th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.84 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. main () {
  4. cwd=$(pwd)
  5. echo 'Before:' "$data"
  6. lines=$(echo "$data" | tr ':' '\n')
  7. mapfile -t lines < <(for i in "${lines[@]}"; do echo "$i"; done | uniq)
  8. res=()
  9.  
  10. for directory in "${lines[@]}"; do
  11. if [ -d "$directory" ]; then
  12. cd "$directory" || exit 1
  13. found="false"
  14. for file in *; do
  15. if [ -x "$file" ]; then
  16. found="true"
  17. break
  18. fi
  19. done
  20. if [ "$found" == "true" ]; then
  21. res+=("$directory")
  22. fi
  23. cd "$cwd" || exit 1
  24. fi
  25. done
  26.  
  27. cleared=''
  28. for directory in "${res[@]}"; do
  29. cleared=$cleared$directory:
  30. done
  31. echo 'After :' "${cleared::-1}"
  32. }
  33.  
  34.  
  35. #ARGUMET PARSING
  36. [ "$1" = "-h" ] || [ "$1" = "--help" ] && echo 'usage: ./clearPath.sh [CUSTOM_PATH]' && exit 1
  37.  
  38. if [ -z "$1" ]; then
  39. data=$PATH
  40. else
  41. data=$1
  42. fi
  43.  
  44. #CALL MAIN
  45. main
  46. exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement