2014-01-13 3 views
1

Я создаю собственный скрипт для запуска резервных копий с использованием Clonezilla. Сценарий работает как ожидалось (до сих пор), но у меня небольшие проблемы с назначением переменной.Переменная присваивания, создающая файл в текущем каталоге, не назначая переменную

Линия назначения переменных (maxBackups = 4) создает в текущей папке файл с именем «4», и если тест не работает должным образом.

(как я понимаю, ссылка на подсчеты родительского каталога в качестве каталога с этим каталогом методом подсчета.)

Что я делаю неправильно? Я знаю, что это что-то просто ...

Благодаря

#!/bin/bash 

# Automated usb backup script for Clonezilla 
# by DRC 


# Begin script 

# Store date and time for use in folder name 
# to a variable called folderName 


folderName=$(date +"%Y-%m-%d--%H-%M") 

# mount second partition of USB media for storing 
# saved image 

mount /dev/sdb2 /home/partimag/ 


# Determine if there are more than 3 directories 
# and terminate the script if there are 

cd /home/partimag 
maxBackups=4 
numberOfBackups=$(find -maxdepth 1 -type d | wc -l) 

if [ $numberOfBackups > $maxBackups ]; then 
echo "The maximum number of backups has been reached." 
echo "Plese burn the backups to DVD and remove them" 
echo "from the USB key." 
echo "Press ENTER to continue and select 'Poweroff'" 
echo "from the next menu." 

# Wait for the user to press the enter key 

read 

# If there are three or less backups, a new backup will be made 

else 
/usr/sbin/ocs-sr -q2 -c -j2 -a -z0 -i 2000 -sc -p true savedisk $folderName sda 

fi 

ответ

0

maxBackups=4 не создает файл с именем 4 в каталоге. Что создает этот файл, это бит if [ $numberOfBackups > $maxBackups ]. > перенаправляется на выходной файл, так как [ - это команда, а не ключевое слово. Вместо этого вы можете попробовать один из них:

if [ $numberOfBackups -gt $maxBackups ]  # -gt is test's version of greater than 

if [[ $numberOfBackups > $maxBackups ]]  # double brackets are keywords, not commands 

if ((numberOfBackups > maxBackups))  # arithmetic context doesn't even require $ 
+0

Большое вам спасибо, это сработало как шарм! Пытались проголосовать за вас, но не имеют достаточного количества ... – cainram

Смежные вопросы