임시 위치에 파일을 복사하고 싶습니다.
중요한 내용을 덮어쓰지 않고 스크립트가 실행될 때 파일이 어디에 있는지 알고 싶습니다.
#!/bin/bash
myfile="$(mktemp)"
cp "source" "$myfile"
# work with $myfile
rm "$myfile"
괜찮아 보이는데요? 내가 놓친 것이 있나요? (권한 등?)
이 파일을 덮어쓰는 것에 대해 기분이 좋지 않습니다.
답변1
매뉴얼 페이지에서
임시 파일이나 디렉터리를 안전하게 생성하고 해당 이름을 인쇄합니다.
확인을 추가하여 mktemp
성공 여부를 확인할 수 있습니다.
myfile="$(mktemp)"
if test $? != 0; then
exit 1
fi
성공 하면 mktemp
이전에 존재하지 않았던 파일이 생성됩니다. 설명서에 설명된 대로 로 mktemp
설정된 권한을 사용하여 파일을 안전하게 덮어쓸 수 있습니다 .u+rw