synology.forum архив спільноти · 2005–2022
ai.synology.forum →
ГлавнаяУстановка, Загрузка и Настройка › Скрип копирования файла с пробелами в пути

Скрип копирования файла с пробелами в пути

brne · 09.11.2018

Станция DS218j

В планировщике заданий создаю задачу с использованием простого скрипта:

Скажу сразу, что в скриптах новичок.

В таком варианте все работает. Создается копия файла с текущей датой в резервной папке.

тест1.jpg

#!/bin/sh
file_buckup=тест1.jpg
otkyda=/volume1/otkuda1/
kyda=/volume1/kuda1/
CURDATE=`/bin/date '+%d.%m.%Y'_'%H.%M.%S'`
cp $otkyda$file_buckup $kyda"$CURDATE"_$file_buckup

Но если в имени, или в пути есть пробелы, то скрипт не работает.

тест 1.jpg

#!/bin/sh
file_buckup=тест 1.jpg
otkyda=/volume1/otkuda1/
kyda=/volume1/kuda1/
CURDATE=`/bin/date '+%d.%m.%Y'_'%H.%M.%S'`
cp $otkyda$file_buckup $kyda"$CURDATE"_$file_buckup

Пробовал с кавычками:

так:"тест 1.jpg"

так:`тест 1.jpg`

так:`$тест 1.jpg`

Не работает.

Знаю что в линуксе пробелы моветон, но такие условия. Пробелы нужны. :mellow:

Подскажите пожалуйста как это можно решить?

 

Для администратора: прошу пожалуйста, отредактируйте очепятку в названии темы "скрипт" вместо "скрипов")))

umount · 11.11.2018

1. Переменные:

file_buckup="тест 1.jpg"

otkyda=/volume1/otkuda1

kyda=/volume1/kuda1

 

2. Команда:

cp $otkyda/"$file_buckup" $kyda/"$CURDATE"_"$file_buckup"

 

Получится:

11.11.2018_22.30.42_тест 1.jpg

 

Но скрипт тот еще )

brne · 12.11.2018
1. Переменные:

2. Команда:

Получится:

11.11.2018_22.30.42_тест 1.jpg

Все заработало как нужно! Спасибо!! :rolleyes: :D

Но скрипт тот еще )

)) Назначение его копировать один (часто редактируемый) файл каждые 3 часа в резервную папку, дабы если что проследить изменения.

А какие грабли в нем есть? Расскажите пожалуйста, что бы не наступить)

В конечном виде, для универсальности, сделал еще и кавычки для пути , т.к. иногда там тоже есть пробелы:

#!/bin/sh
file_backup="тест 1.jpg"
otkyda="otkyda=/volume1/otkuda пробел1"
kyda="kyda=/volume1/kuda1"
CURDATE=`/bin/date '+%d.%m.%Y'_'%H.%M.%S'`
cp "$otkyda"/"$file_backup" "$kyda"/"$CURDATE"_"$file_backup"

umount · 12.11.2018

Да работает и хорошо. Это я так, к слову пришлось. Особенно слово 'buckup' понравилось )

brne · 12.11.2018
Особенно слово 'buckup' понравилось )

:lol: :lol: да уж! :D согласен) Спасибо за замечание!