コピーして削除する前に、リモート SFTP サーバーにファイルがあるかどうかを確認するにはどうすればよいですか?

コピーして削除する前に、リモート SFTP サーバーにファイルがあるかどうかを確認するにはどうすればよいですか?

Linux で標準の SFTP を使用しており、スクリプトを実行する前にファイル フォルダーにファイルがあるかどうかを確認したいと考えています。

私のスクリプトは、ファイル フォルダー内のすべての .TXT ファイルを取得するだけで、その後それらを削除する必要があります (SFTP を使用してファイルをコピーすることはできますが、切り取ることはできないため)。

これが私のスクリプトです:

ドライブ E からすべての .TXT ファイルをコピーし、local/inbound フォルダーに保存します。

#!/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 コマンドが成功した場合はファイルを削除します。

関連情報