外のサーバから情報を取得して表示している場合に、外のサーバが落ちていてもサイトに取得エラーが表示されないよう、ローカルに保存したデータを参照するようにしたかったため。
curl -f -o /path/to/hoge.rss https://example.com/hoge.rss && [ -s /path/to/hoge.rss ] && cp /path/to/hoge.rss /path/to/hoge2.rss
curl -f ⇒404などを吐かずにエラーで終了 -o 出力するファイルを指定、>でリダイレクトした場合、変にサイズのあるファイルを生成され、後続が動くのを止める。
なので-fを付けていれば変なデータで上書き生成されることはないので、このケースの場合、次の&&以降は必要なかったりするが、ファイルサイズによる判定は他では有用なので、一応記載しておく。
【参考】
【curl】404 Not Foundで0以外の終了ステータスコードを返すようにする – suer TIL
よく使うcurlコマンドのオプション #Linux – Qiita
[ -s ファイル名 ]⇒Bashでサイズが0より大きい場合に真を返す書き方 [ の後と、 ] の前に半角スペースがあることに注意。
&&⇒先行のコマンドの結果が真だった場合のみ、後続を実行する
