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