]> arthur.barton.de Git - ax-zsh.git/commitdiff
30_env.ax-io: Try to use a user-specific subfolder when TMPDIR is not set
authorAlexander Barton <alex@barton.de>
Mon, 5 Jul 2021 20:01:13 +0000 (22:01 +0200)
committerAlexander Barton <alex@barton.de>
Mon, 5 Jul 2021 20:01:13 +0000 (22:01 +0200)
core/30_env/30_env.ax-io

index 1910bd412665984da635a493a8cf57abf8f5dc6d..84bd1c23df5be7778e765eef8deb2c99381027a7 100644 (file)
@@ -9,7 +9,14 @@ fi
 # Validate temporary directory
 if [[ -z "$TMPDIR" ]]; then
        TMPDIR="$(dirname $(mktemp -ut tmp.XXXXXXXXXX))/"
+       user_tmpdir="$TMPDIR$UID"
+       mkdir -p "$user_tmpdir" >/dev/null 2>&1
+       if [[ -w "$user_tmpdir" ]]; then
+               TMPDIR="$user_tmpdir/"
+               chmod 0700 "$TMPDIR"
+       fi
        echo "WARNING: \"TMPDIR\" is not set, using \"$TMPDIR\" as default!" >&2
+       unset user_tmpdir
 fi
 if [[ ! -w "$TMPDIR" ]]; then
        echo "WARNING: Temporary directory \"$TMPDIR\" is not writable!" >&2