[英]How portable is mktemp(1)?
正如标题所示 - 我可以合理地确定mktemp
将存在于我可能遇到的任何unix-y操作系统上吗?
POSIX似乎没有指定mktemp(1) 。
看起来大多数现代系统都有它,但是可用的功能和选项的语义因实现而异(因此特定的调用可能不可移植):
因此,如果您需要便携式解决方案,您可能需要坚持在所有感兴趣的平台上使用相同功能的选项。
mktemp
函数 (AKA mktemp(3)
)最初出现在Unix V7中,所以它可能无处不在。 但是,我相信mktemp
命令 (也就是mktemp(1)
)首先出现在OpenBSD 2.1上,所以如果你必须处理真正的antediluvian Unix系统,你可能不得不担心 - 除非你能分发非常便携的mktemp.org版本(以修复某些客户的antediluvian系统可能缺少此实用程序)。 你有多大可能遇到antediluvian系统我们当然不可能猜测 - 例如,在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: command not found $ man mktemp bash-2.05$ man mktemp Reformatting page. Please Wait... done Standard C Library Functions mktemp(3C) NAME mktemp - make a unique file name SYNOPSIS #include char *mktemp(char *template);
在Solaris 9上,它位于SMCmktemp包中,请参阅http://sunfreeware.com/indexsparc9.html :
uname -s
在SunOS
uname -r
5.9
/ usr / sbin / pkgchk -l -p / usr / local / bin / mktemp
路径名:/ usr / local / bin / mktemp
输入:常规文件
预期模式:0555
预期所有者:bin
预期组:bin
预期文件大小(字节):8884
预期的内容总和(1):6493
预计最后修改时间:2002年11月5日08:48:17
由以下包引用:
SMCmktemp
当前状态:已安装
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.