14 lines
313 B
Bash
14 lines
313 B
Bash
RESTOREUMASK=$(umask)
|
|
TRY=0
|
|
while :; do
|
|
TRY=$(( TRY + 1 ))
|
|
umask 0077
|
|
MYTMP=${TMPDIR:-/tmp}/$(basename $0).$$.$(date +%s).$TRY
|
|
trap "rm -fr $MYTMP" EXIT
|
|
mkdir "$MYTMP" 2>/dev/null && break
|
|
done
|
|
umask "$RESTOREUMASK"
|
|
cd "$MYTMP" || {
|
|
echo "Temporary directory failure on $MYTMP" >&2
|
|
exit 1; }
|