Я scp
некоторые файлы с удаленного хоста в сценарии. Я хочу знать, если что-то не получается, чаще всего из-за проблем с разрешениями. Копируемые файлы принадлежат другому пользователю, и иногда скрипт для изменения прав доступа к файлам не запускается. Один из наборов копируемых файлов - это глоб, который может быть пустым, поэтому сейчас скрипт содержит строку, которая выглядит как этот scp -p remote:*.pattern curdir
. Для всех остальных команд копирования я просто проверяю код возврата, но здесь это не работает, так как возможно, что глобус просто пуст. Каков наилучший способ проверить, имеет ли scp ненулевой код возврата только потому, что нет файлов, соответствующих глобанту, в отличие от других проблем, таких как плохие разрешения в родительском каталоге или самих файлах?
1 ответ
0
Использует ли SSH отображение списка файлов на удаленном хосте возможное решение:
ssh remote "find ./ -type f -name '*.pattern'"
Затем вы можете сравнить локальный список файлов с удаленным, используя, например, diff
или wc -l
для подсчета строк.