copier.sh 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. #!/bin/bash
  2. # by DSR! from https://github.com/xchwarze/wifi-pineapple-cloner
  3. FILE_LIST="$1"
  4. FROM_FOLDER="$2"
  5. TO_FOLDER="$3"
  6. DISABLE_CLEAN="$4"
  7. COUNTER=0
  8. if [[ ! -f "$FILE_LIST" || ! -d "$FROM_FOLDER" || "$TO_FOLDER" == "" ]]; then
  9. echo "Run with \"copier.sh [FILE_LIST] [FROM_FOLDER] [TO_FOLDER] [DISABLE_CLEAN]\""
  10. echo " FILE_LIST -> flavor file list"
  11. echo " FROM_FOLDER -> path to base fs"
  12. echo " TO_FOLDER -> path to new fs"
  13. echo " DISABLE_CLEAN -> disable clean of new fs folder"
  14. exit 1
  15. fi
  16. FILE_LIST="$(realpath $FILE_LIST)"
  17. FROM_FOLDER="$(realpath $FROM_FOLDER)"
  18. TO_FOLDER="$(realpath $TO_FOLDER)"
  19. echo "Filelist2Copy - by DSR!"
  20. echo "******************************"
  21. echo ""
  22. echo "[*] Start copy loop"
  23. if [ -n "$DISABLE_CLEAN" ]; then
  24. rm -rf "$TO_FOLDER"
  25. fi
  26. mkdir "$TO_FOLDER"
  27. for FILE in $(cat "$FILE_LIST")
  28. do
  29. if [[ "${FILE:0:1}" != '/' ]]; then
  30. continue
  31. fi
  32. # fix name chars
  33. FILE=$(echo $FILE | sed $'s/\r//')
  34. # check exist
  35. if [[ ! -f "$FROM_FOLDER$FILE" ]] && [[ ! -d "$FROM_FOLDER$FILE" ]]; then
  36. echo "[!] File does not exist: ${FROM_FOLDER}${FILE}"
  37. continue
  38. fi
  39. # check file type
  40. #TYPE_CHECK=$(file "$FROM_FOLDER$FILE" | grep "ELF")
  41. #if [[ $TYPE_CHECK != "" ]]; then
  42. # echo "[+] ELF: $FILE"
  43. # continue
  44. #fi
  45. let COUNTER++
  46. FOLDER=$(dirname $FILE)
  47. mkdir -p "$TO_FOLDER$FOLDER"
  48. # if folder...
  49. if [[ -d "$FROM_FOLDER$FILE" ]]; then
  50. cp -R "$FROM_FOLDER$FILE" "$TO_FOLDER$FILE"
  51. else
  52. cp -P "$FROM_FOLDER$FILE" "$TO_FOLDER$FILE"
  53. fi
  54. done
  55. if [ $COUNTER -eq 0 ]; then
  56. echo "[!] No files were copied. Verify that the paths are correct."
  57. exit 1
  58. fi
  59. echo "[+] Files copied: $COUNTER"
  60. echo ""