Привет, ЛОР.
Пишу скрипт бекапа для виртуальных машин, возникла проблема. В переменной $CFG и $VDI пути разбираются на 2 строки, но если выполнить команду, то путь нормальный.
пример
cp: не удалось выполнить stat для «/home/user/VirtualBox»: Нет такого файла или каталога
cp: не удалось выполнить stat для «VMs/linux/linux.vbox»: Нет такого файла или каталога
#!/bin/bash
BackD=/home/user/tester
VMs=`VBoxManage list runningvms | awk '{FS=" "}{print $1}' | sed s/\"//g`
for VM in $VMs
do
echo $VM
mkdir $BackD/$VM/
CFG=`VBoxManage showvminfo $VM --machinereadable | grep CfgFile | sed -r 's/^[^=]+//'| sed -r 's/^[^"]+//'| sed s/\"//g | sed 's/\ /\\ /g'`
echo "Copy $CFG ==> $BackD/$VM"
cp $CFG $BackD/$VM/
VDIS=`VBoxManage showvminfo $VM --machinereadable | grep .vdi | sed -r 's/^[^=]+//'| sed -r 's/^[^"]+//'| sed s/\"//g | sed 's/\ /\\ /g'`
echo "Make snapshot of $VM"
VBoxManage snapshot $VM take autobackup
for VDI in $VDIS
do
echo "Copy $VDI>$BackD/$VM"
cp $VDI $BackD/$VM/
done
echo "Delete snapshot of $VM"
VBoxManage snapshot $VM delete autobackup
done
Прошу подсказать, что я делаю не так