# vim: ft=zsh export MY_TEMP_DIR_FILE="/tmp/${UID}_tmp_dir" function cdtmp { if [ -z "$(cat $MY_TEMP_DIR_FILE 2> /dev/null)" ]; then newtmp fi cd "$(cat $MY_TEMP_DIR_FILE)" || return } function newtmp { MY_TEMP_DIR="$(mktemp -d)" echo "$MY_TEMP_DIR" > $MY_TEMP_DIR_FILE echo "new tmp dir in $MY_TEMP_DIR" } function cdnewtmp { newtmp cdtmp }