
Estoy usando SFTP estándar en Linux y quiero verificar si hay un archivo en la carpeta de archivos antes de ejecutar mi script.
Mi secuencia de comandos solo obtendría todos los archivos .TXT en la carpeta de archivos y luego tendría que eliminarlos (ya que solo puedo copiar pero no cortar archivos usando SFTP)
Este sería mi script:
Copia todos los archivos .TXT de la unidad E y luego los guarda en la carpeta local/entrante:
#!/bin/bash
get /E:/*.TXT /local/inbound
rm /E:/*.TXT
bye
La razón por la que pregunto es que no quiero que se ejecute el script de eliminación de archivos cuando no hay ningún archivo en la carpeta, ya que puede darse el caso de que, entre copiar y eliminar, se ingrese un archivo en la carpeta E:.
Respuesta1
No estoy seguro de haber entendido correctamente tu pregunta, pero ¿qué tal esto?
scp ./test.txt usename@host:/tmp && rm ./test.txt
Copia el archivo test.txt y, si el comando scp tiene éxito, elimina el archivo.