Mktemp

可以覆蓋 mktemp 創建的文件嗎?

  • August 23, 2018

我想將文件複製到臨時位置。

我想確保我沒有覆蓋任何重要的內容,並且在腳本執行時我知道文件的位置。

#!/bin/bash

myfile="$(mktemp)"
cp "source" "$myfile"

# work with $myfile

rm "$myfile"

這看起來好嗎?有什麼我想念的嗎?(權限等?)

我對覆蓋該文件有一種不好的感覺。

從手冊頁

安全地創建一個臨時文件或目錄,並列印其名稱。

您可以添加檢查是否mktemp成功。

myfile="$(mktemp)"
if test $? != 0; then
 exit 1
fi

如果mktemp成功,它創建了一個以前不存在的文件。您可以安全地覆蓋該文件,這就是使用mktemp. 權限設置為u+rw,如手冊中所述。

引用自:https://unix.stackexchange.com/questions/464506