/usr/bin/rsync -avh -r /Parent/Folder1 /Destination/
if [ $? == 0 ]
then
cp /FolderCopyStatus/Success /Result/Success$(basename !:3)
else
cp /FolderCopyStatus/Failure /Result/Failure$(basename !:3)
fi
Вопрос 1
Я использую команду rsync для синхронизации двух папок в Cent OS. Если команда rsync выполнена успешно, я копирую папку в каталог Result из каталога Success и добавляю текущую дату. Это отлично работает
Я хочу, чтобы при копировании из успеха вместо добавления даты, Folder1 из приведенной выше команды должен быть добавлен. Итак, как?
Вопрос 2
Я автоматизировал этот сценарий оболочки в crontab. Я хочу передать Folder1 в качестве параметра команды в автоматизированном сценарии. Итак, как ??
if [ $? == 0 ]
then
cp /FolderCopyStatus/Success /Result/Success$(basename !:3)
else
cp /FolderCopyStatus/Failure /Result/Failure$(basename !:3)
fi
Проблема : $ (basename!: 3) не работает в скрипте, но работает в обычной команде, например echo $ (basename!: 3)
Вопрос 1
/ usr / bin / rsync -avh -r / Parent / Folder1 / Destination / {{ 1}} если [$? == 0]
, затем
cp / FolderCopyStatus / Success / Result / Success $ (basename! ^)
else
cp / FolderCopyStatus / Failure / Result / Failure $ (date +% F_% R)
fi
Вопрос 2
Сделайте первую строку вашего скрипта такой:
/ usr / bin / rsync -avh -r / Parent / $ 1 / Destination /
А затем, когда вы вызываете скрипт, вызывайте его так:
/ path / to / script Folder1