我正在使用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有什么问题吗?
答案 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 )