Chr*_*sen 19
POSIX似乎没有指定mktemp(1).
看起来大多数现代系统都有它,但是可用的功能和选项的语义因实现而异(因此特定的调用可能不可移植):
因此,如果您需要便携式解决方案,您可能需要坚持在所有感兴趣的平台上使用相同功能的选项.
一个mktemp
函数(AKA mktemp(3)
)首次出现在Unix的V7所以它很可能是无处不在.但是,我相信,在OpenBSD 2.1上首次出现了一个mktemp
命令(又名mktemp(1)
),所以如果你必须处理真正的antediluvian Unix系统,你可能不得不担心 - 除非你能分发非常便携的mktemp.org版本(以修复某些客户的前期系统可能缺乏此实用程序).怎么可能是你遇到的老古董系统是几乎不可能让我们猜测,当然-例如在HP-UX
,mktemp(1)
已经有至少8年(甚至大部分企业可能已经在这一时限内更新了自己的Unix操作系统的),在Xenix的我相信它出现在3.0(1992年)等等.
仅供参考,mktemp 似乎不包含在 Solaris 9(2002/2003 年发布)中 - 今天刚遇到这个:
$ uname -a SunOS dcmnapp02 5.9 Generic_122300-47 sun4u sparc SUNW,Sun-Fire-V440 $ mktemp bash: mktemp: 命令未找到 $ man mktemp bash-2.05$ 人 mktemp 重新格式化页面。请稍等...完成 标准 C 库函数 mktemp(3C) 姓名 mktemp - 创建一个唯一的文件名 概要 #包括 字符 *mktemp(字符 *模板);