[bash] atrepair
Viewer
- #!/bin/bash
- lol=$2
- if [[ $1 = -* ]] # Проверка на наличие ключа
- then
- if [ $1 = -h ] || [ $1 = --help ] || [ $1 = -x ] || [ $1 = --execute ] || [ $1 = -n ] || [ $1 = --noexecute ] || [ $1 = -i ] || [ $1 = --donottouch ]
- then
- if [ $1 = -h ] || [ $1 = --help ] # Всё что связано с ключом --help
- then
- echo "-x,--execute На файлы устанавливать право “выполнение”.
- -n,--noexecute На файлах удалять право “выполнение”.
- -i,--donottouch На файлах оставлять неизменным право “выполнение”.
- -h,--help Справка о ключах и синтаксисе обращения к скрипту."
- fi
- if ([ -f $2 ] || [ -d $2 ]) && [ $# = 2 ]
- then
- if [ $1 = -x ] || [ $1 = --execute ]
- then
- while [[ $lol = */* ]]
- do
- if [[ -f $lol ]]
- then
- chmod +x $lol
- else
- chmod 755 $lol
- fi
- lol=${lol%/*}
- done
- if [[ $lol != "" ]]
- then
- if [[ -f $lol ]]
- then
- chmod +x $lol
- else
- chmod 755 $lol
- fi
- fi
- fi
- if [ $1 = -n ] || [ $1 = --noexecute ]
- then
- while [[ $lol = */* ]]
- do
- if [[ -f $lol ]]
- then
- chmod -x $lol
- else
- chmod 755 $lol
- fi
- lol=${lol%/*}
- done
- if [[ $lol != "" ]]
- then
- if [[ -f $lol ]]
- then
- chmod -x $lol
- else
- chmod 755 $lol
- fi
- fi
- fi
- if [ $1 = -i ] || [ $1 = --donottouch ]
- then
- while [[ $lol = */* ]]
- do
- if [[ -f $lol ]]
- then
- chmod ugo+r $lol
- chmod u+w $lol
- chmod go-w $lol
- else
- chmod 755 $lol
- fi
- lol=${lol%/*}
- done
- if [[ $lol != "" ]]
- then
- if [[ -f $lol ]]
- then
- chmod ugo+r $lol
- chmod u+w $lol
- chmod go-w $lol
- else
- chmod 755 $lol
- fi
- fi
- fi
- else
- if [ $1 != -h ] && [ $1 != --help ]
- then
- echo Вы не ввели путь или ввели неправильный путь
- fi
- fi
- else
- echo Неверный ключ. Введите -h,--help, чтобы узнать ключи. # Если неправильный ключ
- fi
- else
- echo Не указан ключ. Введите -h,--help, чтобы узнать ключи. # Если нет ключа
- fi
Editor
You can edit this paste and save as new: