
Я использую стандартный SFTP в Linux и хочу проверить, есть ли файл в папке, прежде чем выполнять свой скрипт.
Мой скрипт получит только все файлы .TXT в папке, а затем должен будет удалить их (так как я могу только копировать, но не вырезать файлы с помощью SFTP)
Вот мой сценарий:
Он копирует все файлы .TXT с диска E, а затем сохраняет их в локальной/входящей папке:
#!/bin/bash
get /E:/*.TXT /local/inbound
rm /E:/*.TXT
bye
Причина, по которой я спрашиваю, заключается в том, что я не хочу, чтобы мой скрипт удаления файла запускался, когда в папке нет файла, поскольку может возникнуть ситуация, когда между копированием и удалением файл будет добавлен в папку E:.
решение1
Я не уверен, правильно ли я понял ваш вопрос, но как насчет этого:
scp ./test.txt usename@host:/tmp && rm ./test.txt
Он копирует файл test.txt и, если команда scp выполнена успешно, удаляет файл.