Você está tentando transferir o arquivo (se for um arquivo) ou partes do diretório (se for um diretório).
if ! scp user@host:/path/to/dir-or-file local/path
then
scp user@host:/path/to/dir-or-file/some-specific-file local/path
fi
Se scp
for instruído a transferir um diretório sem sua opção -r
, ele falhará. Você pode usar isso para detectar se o caminho fornecido no host remoto é um diretório ou não e, em seguida, invocar scp
uma segunda vez para obter arquivos específicos dentro do diretório se o primeiro scp
não puder obter o nome do caminho como um arquivo.
Claro, se você quiser transferir o diretório todo (se for um diretório), você pode fazer
scp -r user@host:/path/to/dir-or-file local/path
que funcionaria independentemente de o caminho ser de um diretório ou arquivo.