Como obter o código de retorno do comando SFTP?
Eu faço isso para baixar todos os arquivos de um diretório. Mas se o diretório estiver vazio o comando retorna1
Como buscar o código real para File not found
?
echo 'get * /var/download' | sftp -b - user@host
Ou uma solução seria ignorar/suprimir o erro File not found
e retornar 0
(não suprimir todos os erros, apenas este)
O OpenSSH
sftp
retorna 0 em caso de sucesso e 1 em caso de erro.Nenhuma distinção adicional é fornecida.
Para testar, se existe algum arquivo em um diretório antes de tentar baixá-lo, você pode usar:
Para uma pergunta semelhante, consulte Como verificar se o arquivo existe no servidor SFTP remoto do script Linux local?