コマンドが完了する前にいくつかの文字列を印刷するには?

コマンドが完了する前にいくつかの文字列を印刷するには?

私はbashスクリプトを使用してクライアントデバイスからWebサーバーに大容量ファイルをダウンロードしています。

しかし、時間がかかるため、nginxはゲートウェイタイムアウトを返します。私がやる計画は、bashスクリプトの標準出力をPythonサブプロセスにリンクして応答として送信することです。 scpは標準出力として出力を生成しないため、scpコマンドが完了するまで毎分応答を送信する必要があります。

bashスクリプトを使用してこれを達成する方法はありますか?

また、通常20分以上かかるため、Nginxタイムアウトを増やすことはできません。

ベストアンサー1

バックグラウンドでいくつかの出力を実行するプロセスを作成し、scp完了したら終了できます。

(while sleep 60; do echo downloading; done) &
PID=$!
scp "$1" "$2"
kill $PID

おすすめ記事