[bash] atrepair

Viewer

copydownloadembedprintName: atrepair
  1. #!/bin/bash
  2. lol=$2
  3. if [[ $1 = -* ]] # Проверка на наличие ключа
  4. then
  5. if [ $1 = -h ] || [ $1 = --help ] || [ $1 = -x ] || [ $1 = --execute ] || [ $1 = -n ] || [ $1 = --noexecute ] || [ $1 = -i ] || [ $1 = --donottouch ]
  6. then
  7. if [ $1 = -h ] || [ $1 = --help ] # Всё что связано с ключом --help
  8. then
  9. echo "-x,--execute        На файлы устанавливать право “выполнение”.
  10. -n,--noexecute        На файлах удалять право “выполнение”.
  11. -i,--donottouch        На файлах оставлять неизменным право “выполнение”.
  12. -h,--help        Справка о ключах и синтаксисе обращения к скрипту."
  13. fi
  14.  
  15. if ([ -f $2 ] || [ -d  $2 ]) && [ $# = 2 ]
  16. then
  17.  
  18. if [ $1 = -x ] || [ $1 = --execute ]
  19. then
  20. while [[ $lol = */* ]]
  21. do
  22. if [[ -f $lol ]]
  23. then
  24. chmod +x $lol
  25. else
  26. chmod 755 $lol
  27. fi
  28. lol=${lol%/*}
  29. done
  30. if [[ $lol !"" ]]
  31. then
  32. if [[ -f $lol ]]
  33. then
  34. chmod +x $lol
  35. else
  36. chmod 755 $lol
  37. fi
  38. fi
  39. fi
  40.  
  41. if [ $1 = -n ] || [ $1 = --noexecute ]
  42. then
  43. while [[ $lol = */* ]]
  44. do
  45. if [[ -f $lol ]]
  46. then
  47. chmod -x $lol
  48. else
  49. chmod 755 $lol
  50. fi
  51. lol=${lol%/*}
  52. done
  53. if [[ $lol !"" ]]
  54. then
  55. if [[ -f $lol ]]
  56. then
  57. chmod -x $lol
  58. else
  59. chmod 755 $lol
  60. fi
  61. fi
  62. fi
  63.  
  64. if [ $1 = -i ] || [ $1 = --donottouch ]
  65. then
  66. while [[ $lol = */* ]]
  67. do
  68. if [[ -f $lol ]]
  69. then
  70. chmod ugo+r $lol
  71. chmod u+w $lol
  72. chmod go-w $lol
  73. else
  74. chmod 755 $lol
  75. fi
  76. lol=${lol%/*}
  77. done
  78. if [[ $lol !"" ]]
  79. then
  80. if [[ -f $lol ]]
  81. then
  82. chmod ugo+r $lol
  83. chmod u+w $lol
  84. chmod go-w $lol
  85. else
  86. chmod 755 $lol
  87. fi
  88. fi
  89. fi
  90.  
  91. else
  92. if [ $1 != -h ] && [ $1 != --help ]
  93. then
  94. echo Вы не ввели путь или ввели неправильный путь
  95. fi
  96. fi
  97.  
  98. else
  99. echo Неверный ключ. Введите -h,--help, чтобы узнать ключи. # Если неправильный ключ
  100. fi
  101. else
  102. echo Не указан ключ. Введите -h,--help, чтобы узнать ключи. # Если нет ключа
  103. fi

Editor

You can edit this paste and save as new:


File Description
  • atrepair
  • Paste Code
  • 30 Nov-2021
  • 2.08 Kb
You can Share it: