Bash: массив пуст за пределами цикла for - PullRequest
0 голосов
/ 21 января 2019

Я создаю сценарий для поворота моих резервных копий, одна важная часть этого сценария - найти файлы на основе определенных критериев, а затем переместить или стереть их.

У меня есть цикл, но Array (path_array) нельзя использовать вне цикла.Я прочитал несколько сообщений об этом, но не уверен, как ответы относятся к моему конкретному случаю.Смотрите код ниже.

Спасибо !!!

#!/bin/bash

# anos=(2016 2017 2018 2019)
# meses=(02)

meses=(01 02 03 04 05 06 07 08 09 10 11 12)
anos=(2018)




source="/volume1/NetBackup/Servers/MIA/"
destination="/volume1/NetBackup/Servers/MIA/_Archive"  



######## Pasar los Files del Primer dia del Año a Archiving

for i in  ${anos[@]}; do
    for j in  ${meses[@]}; do
        month_start=$(date +$i-$j-01)
        month_finish=$(date +$i-$j-02)
        # echo $month_start
        # echo $month_finish
        path_array=(`find $source -type f -not -path "*/_Archive/*" -newermt $month_start ! -newermt $month_finish | cut -sd / -f 6-`)
        # echo $path_array  

        # echo Archivos año: $i mes: $j

        #printf '%s\n' "${path_array[@]}"
    done
done


 printf '%s\n' "${path_array[@]}"

1 Ответ

0 голосов
/ 21 января 2019

Полагаю, вы хотите добавить к массиву

path_array+=( $(find $source -type f -not -path "*/_Archive/*" -newermt $month_start ! -newermt $month_finish | cut -sd / -f 6-) )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...