Форум русскоязычного сообщества Ubuntu


Автор Тема: Помогите подправить скриптик2  (Прочитано 384 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн TierBBR

  • Автор темы
  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Помогите подправить скриптик2
« : 23 Ноябрь 2011, 23:11:21 »
#!/bin/bash
ROOT_DIR=$1
DIR_PERM=$2
FILE_PERM=$3

IFS=$'\n'
for name in $(find ${ROOT_DIR})
do
if [ -d "$name" ]
then
chmod ${DIR_PERM} "$name"
echo "DIRECTORY: '${name}' PERMS CHANGED TO 0x${DIR_PERM}"
else
chmod ${FILE_PERM} "$name"
echo "FILE: '${name}' PERMS CHANGED TO 0x${FILE_PERM}"
fi
done

Не пашет, как быть?
То есть работает, но не полностью.Предыдущий вариант http://www.mczone.ru/relations/num/247/1 спотыкался о пробел и завершал работу, а этот просто пропускает файл\папку с пробелом, выдавая ошибку, вдобавок обрабатывает не все объекты
« Последнее редактирование: 23 Ноябрь 2011, 23:49:06 от TierBBR »

Оффлайн margarita-ori

  • Активист
  • *
  • Сообщений: 717
    • Просмотр профиля
Re: Помогите подправить скриптик2
« Ответ #1 : 24 Ноябрь 2011, 00:26:15 »
А так если:
(Нажмите, чтобы показать/скрыть)

Оффлайн TierBBR

  • Автор темы
  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: Помогите подправить скриптик2
« Ответ #2 : 24 Ноябрь 2011, 19:17:25 »
Решение найдено!

#!/bin/bash
ROOT_DIR=$1
DIR_PERM=$2
FILE_PERM=$3

IFS=$'\n'
for name in $(find ${ROOT_DIR} | sed 's/ /©/g' )
do
name="$(echo $name | sed 's/©/ /g')"
if [ -d "$name" ]
then
chmod ${DIR_PERM} "$name"
echo "DIRECTORY: '${name}' PERMS CHANGED TO 0x${DIR_PERM}"
else
chmod ${FILE_PERM} "$name"
echo "FILE: '${name}' PERMS CHANGED TO 0x${FILE_PERM}"
fi
done

 

Страница сгенерирована за 0.156 секунд. Запросов: 25.