Это прервется, если рассматриваемый удаленный каталог существует:
if ! ssh user@host "[[ -d /path/to/directory ]]"; then
# do your scp or rsync
else
echo "Remote location is a directory. Aborting." 1&>2
exit 1
fi
Если вы хотите сделать это одним -вкладышем, тогда:
ssh user@host "[[ -d /path/to/directory ]]" || <<scp or rsync>>
find Source/ -type f -name '*.CR2' -print0 |
rsync --dry-run -av --files-from - --from0. remote@server:/Storage/
Удалите --dry-run
, когда будете довольны тем, что планируете сделать.
Приведенную ниже команду мы можем использовать
find path -type f -iname "filename" -exec scp {} destinationhost:/var/tmp/ \;