mktemp — 建立安全的暫存檔案或目錄

建立安全唯一的暫存檔案或目錄,避免腳本競爭條件。

語法

mktemp [選項] [範本]

常用選項

選項 說明 範例
-d, --directory 建立暫存目錄而非檔案 mktemp -d
-p DIR 在指定目錄下建立(預設 /tmp) mktemp -p /var/tmp
-t 範本 指定檔名範本(範本末尾需有 XXX) mktemp -t prefix.XXXXXX
-u, --dry-run 只輸出名稱,不實際建立(不安全) mktemp -u

使用範例

範例 1:在腳本中建立暫存檔案

安全的腳本寫法:建立暫存檔,並確保腳本結束時(包含被中斷時)自動清除。

$ TMPFILE=$(mktemp)
trap 'rm -f ""' EXIT
echo "暫存檔:"
暫存檔:/tmp/tmp.aB3xZ9k
範例 2:建立暫存目錄

使用 -d 建立暫存目錄,用於需要多個暫存檔案的腳本。

$ TMPDIR=$(mktemp -d)
trap 'rm -rf ""' EXIT
範例 3:自訂檔名前綴

指定範本,範本末尾的 X 會被隨機字元取代(至少 3 個 X)。

$ mktemp /tmp/myapp.XXXXXXXXXX
/tmp/myapp.aB3xZ9k2mN

延伸閱讀