Я пишу оболочку script, и мне нужно создать временный файл с определенным расширением.
Я пробовал
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
Он уязвим для атаки на отказ в обслуживании, но я не думаю, что что-то более серьезное.