rsync コマンド終了ステータス

rsync コマンド終了ステータス

コマンドを実行すると、rysncコマンドでエラー(コード23)が発生しても終了ステータスは0です。ファイルが見つからない場合は、終了ステータスコードでスクリプトを終了したいのですが、終了ステータス0のみを提供するため、これはできません。ファイルが見つからないときにスクリプトを終了する他の方法はありますか?

$ rsync -a --files-from=test.txt . tmp || true
  rsync: link_stat "/home/user/a.txt" failed: No such file or directory (2)
  rsync: link_stat "/home/user/b.txt" failed: No such file or directory (2)
  rsync: link_stat "/home/user/c.txt" failed: No such file or directory (2)
  rsync: link_stat "/home/user/d.txt" failed: No such file or directory (2)
  rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1196) [sender=3.1.2]
$ echo $?
  0

ベストアンサー1

@Roops23、質問はです|| trueany_codeORはtrue常にゼロを提供するためです。

だからコマンドは

$ rsync -a --files-from=test.txt . tmp

希望の終了コード(例:23)を入力してください。 ! !

おすすめ記事