问题
我有一些代码,该代码首先遍历每行具有文件夹路径的文件,以确保它们正确(它确实通过了,并且我也知道这些是有效路径),然后尝试将其传递给程序{{ 1}},但出错。
问题似乎完全取决于我如何创建或使用borg
(您可以将其作为第一个回显),但是我不确定如何解决。
输入
folderList
错误输出
/media/sf_D_DRIVE/VirtualMachines Backups/
/media/sf_C_DRIVE/Websites/47/sln/site/App_Data/
代码
"/media/sf_D_DRIVE/VirtualMachines Backups/" "/media/sf_C_DRIVE/Websites/47/sln/site/App_Data/"
"/media/sf_D_DRIVE/VirtualMachines: [Errno 2] No such file or directory: '"/media/sf_D_DRIVE/VirtualMachines'
Backups/": [Errno 2] No such file or directory: 'Backups/"'
"/media/sf_C_DRIVE/Websites/47/sln/site/App_Data/": [Errno 2] No such file or directory: '"/media/sf_C_DRIVE/Websites/47/sln/site/App_Data/"'
答案 0 :(得分:1)
通过使用数组传递参数并简化条件测试,类似的方法应该可以更好地工作:
while read -r line
do
if [ -f "$line" ] || [ -d "$line" ]; then
folderList+=( "$line" )
else
exit 1
fi
done < "$2"
echo "${folderList[@]}" #gets past here successfully
borg create -s --progress "$1::${dateString}" "${folderList[@]}"