mktemp:无效选项 - - 在RHEL5 U3上

时间:2016-06-28 18:48:35

标签: linux makefile rhel5

我正在使用mktemp在Makefile中创建临时文件,并在RHEL5 U3构建环境中使用此MakeFile。

setuptmp1=`mktemp setup.tmp.1.XXXXXXXX --tmpdir=/tmp` ; \

setuptmp2=`mktemp setup.tmp.2.XXXXXXXX --tmpdir=/tmp` ; \

在构建日志中观察到以下消息。

mktemp:无效选项 -

用法:mktemp -V | -dqtu -p前缀模板

这是什么意思?使用mktemp有什么问题吗?

2 个答案:

答案 0 :(得分:0)

根据 check-kernel-headers: mktemp --tmpdir not available on RedHat RHEL5

  旧版Redhat RHEL5计算机无法使用

mktemp --tmpdir 。该   具有相同行为的替代方案是 'mktemp -t'

有一个相关的错误报告(也没有向后兼容性):RHEL6 mktemp使用-t来引用-r支持的RHEL5: Bug 1155729RHEL5 and RHEL6: mktemp -t XXXXXX.pdf: functionality differs

答案 1 :(得分:0)

mktemp实用程序在不同系统上具有不同的标志集,具体取决于该系统附带的版本。 OS X上的mktemp也缺少--tmpdir选项。

但是,在使用mktemp时,我在系统上看到的TMPDIR的所有版本都会尊重-t环境变量(请参阅the mktemp manual)。所以以下内容适合您:

export TMPDIR="/tmp"
setuptmp1=$( mktemp -t setup.tmp.1.XXXXXXXX )
setuptmp2=$( mktemp -t setup.tmp.2.XXXXXXXX )