find comando com exec sh não funciona em shell script, mas em linha de comando (raspberrypi)

1

Eu quero encontrar as pastas "antigas" em / volume1 / photo / ipcam que são nomeadas como "???? - ?? - ??" e mova as pastas correspondentes dentro da caixa de depósito (com a mesma estrutura de diretórios / ipcam / ...) para a subpasta / ipcam / archive . O comando find abaixo (com os valores apropriados usados em vez das variáveis) funciona bem quando usado na linha de comando, mas não se usado em um script:

via linha de comando:

find /volume1/photo/ipcam -maxdepth 1 -type d -name "????-??-??" -mtime +0 -exec sh -c 'echo /home/pi/Dropbox-Uploader/dropbox_uploader.sh move /ipcam/$(basename {}) /ipcam/archive' \;

via script:

#!/bin/bash    
path2disc="/volume1"
source="$path2disc/photo/ipcam"

dropboxtool="/home/pi/Dropbox-Uploader/dropbox_uploader.sh"
dropbox="/ipcam"
dropboxarchive="/ipcam/archive"

find $source -maxdepth 1 -type d -name "????-??-??" -mtime +0 -exec sh -c '$dropboxtool move $dropbox/$(basename {}) $dropboxarchive' \;

Acho que algo está errado com as citações na versão "script", mas não tenho certeza.

PS: usando a seguinte versão no raspberrypi: Linux raspberrypi 3.10.24+ # 614 PREPARO Qui Dez 19 20:38:42 GMT 2013 armv6l GNU / Linux

    
por Martin Gross 15.02.2014 / 19:33

0 respostas