У меня есть цикл в моем скрипте, который перебирает массив - myArray
, и мне нужно сделать некоторое копирование файлов / каталогов на каждой итерации.Массив может выглядеть следующим образом -
myArray=('ajax' 'style/prod_styles' `path/to/some_file.php` 'templates' 'uploadify')
Принимая этот массив, для элементов без /
мне нужно скопировать все папки и их содержимое - например, ajax
, templates
, uploadify
.Но для тех, у кого есть косые черты - например, style/prod_styles
(обратите внимание, что может быть несколько косых черт), мне нужно скопировать только последний элемент (например, для /path/to/some/folder
мне нужно скопировать только folder
и его содержимое), а в случаеродительские папки не существуют в месте назначения (например, path
, to
, some
являются родительскими папками), мне нужно просто создать эти папки и затем скопировать последний элемент (folder
).
Ранее я предполагал, что было бы легко выполнить разнесение (например, PHP explode()
) с /
внутри цикла, а затем рекурсивно начать с родительского (path
каталога, как в приведенном выше примере), чтобы проверить, является ли его дочерний каталогсуществует, если не создаст его, пока мы не закончили с родительским файлом копируемого файла / каталога, а затем сделайте окончательную копию.
Если, однако, в bash есть что-то более простое, чтобы сделать это, пожалуйста,дайте мне знать.
Спасибо,
Sandeepan