#!/bin/bash
set -e -u
temp=`mktemp "$@"`
dir=`dirname "$temp"`
base=`basename "$temp"`
cd "$dir"
clean=${base%.*}
mv -n "$base" "$clean"    # why mv doesn't exit 1 when can't move due to clobber?!
if [ ! -e "$base" ]; then
	readlink -e "$clean"
else
	printf "%s\n" "$temp"
fi
