컬을 사용하여 임시 파일에 저장하고 성공한 경우에만 제자리로 이동합니다.

컬을 사용하여 임시 파일에 저장하고 성공한 경우에만 제자리로 이동합니다.

curl-o/ 스위치를 사용하여 --outputURL을 특정 파일로 다운로드하는 기능. 내가 아는 한, 이렇게 하면 파일이 저장되며 다운로드에 문제가 있으면 파일이 절반만 다운로드됩니다.

임시 파일을 만들고 해당 위치로 이동하여 이 문제를 해결할 수 있었습니다.

TEMP=$(mktemp -p /data/path/to/results/ tmp.results.zip.XXXXXX)
curl -o ${TEMP} https://example.com/files/results.zip
mv ${TEMP} /data/path/to/results/results.zip

컬만 사용하여 하나의 명령으로 이 모든 작업을 수행할 수 있나요? 컬에는 "임시 파일에 저장하고 성공할 때만 이동"하는 옵션이 있습니까?

고쳐 쓰다:저는 이것을 자주 사용하기 set -o errexit때문에 컬 명령이 실패하면 스크립트가 실패합니다. mviff 실행이 curl실패하지 않았습니다.

답변1

내가 아는 한, curl이에 대한 내장 기능은 없습니다. 귀하의 방법은 (를 사용하여 errexit) 얻을 수 있는 만큼 훌륭합니다. 설정에 관계없이 명시적으로 만들 수 있습니다.

curl -o ${TEMP} https://example.com/files/results.zip &&
mv ${TEMP} /data/path/to/results/results.zip

관련 정보