명령을 실행할 때 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, 질문은 입니다 || true
. any_code
OR은 true
항상 0을 제공하기 때문입니다 .
그래서 명령은
$ rsync -a --files-from=test.txt . tmp
원하는 종료 코드(예: 23)를 입력하세요! ! !