установите права доступа к файлам при выводе bash

#bash #file-permissions

#bash #файл-разрешения

Вопрос:

У меня есть скрипт для резервного копирования базы данных mysql. Однако я хотел бы установить права доступа к файлам на 755. Я сделал это в скрипте, но он выводит сообщение. Часть скрипта приведена ниже

 FILE="$BACKUPDIR/$NOW-$db.gz";
            echo "BACKING UP $db";
            $MYSQLDUMP --add-drop-database --opt --lock-all-tables --set-gtid-purged=OFF -u $MUSER -p$MPASS -h $MHOST -P $MPORT $db | gzip > $FILE

# change permissions on file
chmod 755 $FILE
  

Сообщение, которое я получаю, это;
chmod: missing operand after ‘755’

Есть идеи?

Комментарии:

1. Если chmod жалуется, что ему не хватает операнта, это означает, что $file он не был установлен. Выведите "$file" переменную непосредственно перед командой chmod и посмотрите, что произойдет

Ответ №1:

Я бы предположил, что значение $FILE пустое или что-то отличное от того, что вы ожидаете.

Выведите значение $FILE в вашем скрипте, чтобы подтвердить, что оно имеет ожидаемое значение.

Вы должны использовать

 chmod 755 "${FILE}"
  

чтобы избежать проблем с пробелами / странными символами в имени файла

Комментарии:

1. Я все еще получаю то же сообщение

2. И каково значение $FILE?

3. 2016-10-13-14:12-customer_live.gz