Provided by:
manpages-zh_1.5.1-2_all 
NAME
mktemp - 產生唯一的臨時檔名
` (SYNOPSIS)
mktemp [-q] [-u] template
yz (DESCRIPTION)
mktemp 根據 給定的 檔名模板, 改變 其中的 一部分, 從而 生成 臨時檔名.
該檔名 是 唯一的, 可以 讓 其他程式 使用. 模板 為 任意 檔名, 後接 六 'X'
例如 /tmp/temp.XXXXXX. 這些 'X' 將被 當前進程號 以及/或者 某 唯一的
字母組合 替代.
如果 mktemp 成 產生了 唯一檔名, 就 以 訪問模式 0600 (除非 使用了 -u
選項) 創建 檔案, 並且 在 標準輸出 顯示 這 檔名.
mktemp 用於 讓 shell 稿本程式 使用 可靠的 臨時檔案. 多數 shell 程式 的
傳統做法 是 程式名 加上 PID 做 延伸檔名, 產生的 檔名 就是 臨時檔名. 這種
命名策略 容易 預測, 產生的 競爭條件 易於 遭到 攻擊. 使用 相同 命名策略
的 另一 方法 是 建立 臨時目錄, 這種 做法 相對 安全 一些. 它 可以 保証
臨時檔案 不被 破壞, 但是 容易 遭到 簡單的 拒絕服務 攻擊. 所以 建議 改用
mktemp.
(OPTIONS)
有效選項有:
-q 出錯時 不顯示 信息. 用於 禁止 錯誤訊息 輸出到 標準錯誤.
-u 以 ``不安全'' 模式 運行. mktemp 在 退出前 會 刪除 臨時檔案. 它
比 mktemp(3) 稍微 好些, 但 仍然 會 引入 競爭條件. 不鼓勵 使用 這
選項.
^ (RETURN VALUES)
mktemp 成幼 返回 0, 否則 返回 1.
l (EXAMPLES)
下列的 sh(1) 片斷 展示了 mktemp 的 簡單用法, 如果 無法 獲得 可靠的
臨時檔案, 程式 就 退出.
TMPFILE=`mktemp /tmp/$0.XXXXXX` || exit 1
echo "program output" >> $TMPFILE
照上例, 我 打算 讓 稿本程式 自己 捕獲 這 錯誤.
TMPFILE=`mktemp -q /tmp/$0.XXXXXX`
if [ $? -ne 0 ]; then
echo "$0: Can't create temp file, exiting..."
exit 1
fi
t (SEE ALSO)
mkstemp(3), mktemp(3)
v (HISTORY)
源於 OpenBSD
[]
徐明 <xuming@users.sourceforge.net>
[]
2003/05/13
mLinuxanhttp://cmpp.linuxforum.net