我正在写一个shell脚本,我需要创建具有特定扩展名的临时文件。如何在bash中创建具有特定扩展名的临时文件?
我已经试过
tempname=`basename $0`
TMPPS=`mktemp /tmp/${tempname}.XXXXXX.ps` || exit 1
和
tempname=`basename $0`
TMPPS=`mktemp -t ${tempname}` || exit 1
既不工作,作为第一个创建了一个文件名以文字“XXXXXX”,第二个没有给出一个选项延期。
我需要进行扩展,以便预览不会拒绝打开该文件。
编辑:我结束了的PID和mktemp的什么我希望的组合会是安全的:
tempname=`basename $0`
TMPTMP=`mktemp -t ${tempname}` || exit 1
TMPPS="$TMPTMP.$$.ps"
mv $TMPTMP $TMPPS || exit 1
它很容易受到服务攻击的拒绝,但我不认为有什么更严重。
FYI:* BSD * mktemp的在Mac OSX上确实有这个选项,至少不是在10.11。 – Jokester 2016-06-08 02:18:34
@ Jokester的名字不是谎言。由此我的意思是OSX/macOS不支持'--suffix',仍然是10.12。 – 2017-04-27 23:06:10
@CharlieGorichanaz我的不好。猜猜我是想写“没有这个选项”,因为我还记得我调试脚本OSX这种差异:( – Jokester 2017-04-28 02:39:08