if [[ ! -d "$HOME/tmp/$HOSTNAME" ]]; then tmp="$(mktemp --tmpdir -d "$USER@$HOSTNAME-tmpdir.XXXXXXXXXXXXXXXXXXX")" mkdir -p -- "$HOME/tmp" ln -sf "$tmp" "$HOME/tmp/$HOSTNAME" unset tmp fi export TMPDIR="$HOME/tmp/$HOSTNAME" if type flock &>/dev/null; then if [[ "$(readlink -f /dev/fd/7)" != "$(readlink -f "$TMPDIR/.uselock")" ]]; then exec 7>"$TMPDIR/.uselock" fi if flock -sn 7; then _logout_tmpdir_cleanup() { if flock -xn 7; then rm -rf -- "$(readlink -f "$TMPDIR")" rm -- "$TMPDIR" fi } trap _logout_tmpdir_cleanup EXIT fi fi