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